下面的代碼工作正常,當我在PowerShell ISE中運行它以管理員身份(即我開始PS ISE作爲管理員)調用命令運行作爲管理員OK,但不作爲當前用戶
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
我得到的
8
8
4
所期望的響應這告訴我,WinRM的正確配置和運行,並且我的$憑證是正確的設置。然而,當我嘗試運行在PS ISE同一個用戶(有或沒有管理員權限),我收到以下錯誤,第二個和第三個命令
[<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
@Jimbo - 是的,這就是爲什麼這是如此混亂。此外,在管理員或用戶模式下相同的cerdential,並且在管理員模式下工作正常。 – hsbatra