次のコードは、Invoke-Commandコマンドは、管理者としてOK動作しますが、私は管理者としてのPowerShell ISEでそれを実行しないときは、現在のユーザーとして
Invoke-Command -ScriptBlock {[IntPtr]::Size}
Invoke-Command -ScriptBlock {[IntPtr]::Size} -ComputerName $env:COMPUTERNAME -Credential $Credential
Invoke-Command -ScriptBlock {[IntPtr]::Size} -ComputerName $env:COMPUTERNAME -Credential $Credential -ConfigurationName Microsoft.PowerShell32
私が得る(すなわち、私が管理者としてPS ISEを起動する)正常に動作します期待される応答
8
8
4
これは、WinRMが正しく構成され、実行されていることと、$ Credentialが正しく設定されていることを示しています。私は(管理者権限の有無にかかわらず)ユーザーとしてPS ISEで同じことを実行してみたときにしかし、私はもっと何かでのScriptBlockコードを代入します
[<ComputerName>] Connecting to remote server <ComputerName> failed with the following error message : Access is denied. For more information, see the about_Remote_Troubleshooting Help topic.
+ CategoryInfo : OpenError: (<ComputerName>:String) [], PSRemotingTransportException
+ FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken
第二と第三のコマンドのために、次のエラーが出ます32ビットDLLの依存関係のために32ビットモードで実行する必要があり、ユーザーが64ビットモードでコードの一部を実行し、32ビットモードで他の部分を実行する機能が重要です。
どのような考えですか?
資格情報はログインと同じですか? – Jimbo
@ジンボー - はい、そうですが、これがとても混乱している理由です。また、管理者モードまたはユーザーモードで同じcerdentialを使用し、Adminモードで正常に機能します。 – hsbatra