PowerShell脚本远程执行失败

在执行PowerShell远程脚本时,我收到如下错误

Invoke-Command:使用“1”参数调用“ToXmlString”的exception:“请求的操作无法完成。必须信任计算机进行委派,并且必须configuration当前用户帐户以允许委派。

执行破坏的确切代码行如下:

$rsa = New-Object System.Security.Cryptography.RSACryptoServiceProvider $key = $rsa.ToXmlString($true) 

有人可以帮我解决这个问题吗?

您需要启用凭据委派,以便PowerShell可以将您的用户名/密码传递给远程计算机,以便它可以使用它们执行失败的操作。 有关说明/详细信息,请参阅StackOverflow上的此答案。

你提到这是一个远程脚本。 我有几个问题想要缩小这个问题:

  • 你能在电脑上本地运行这两个命令吗?
  • 远程计算机是否与您试图运行此计算机的计算机位于同一个域中?
  • 这个错误特定于用户和/或计算机(本地和远程)吗?
  • 你能够在远程计算机上运行任何PowerShell命令吗? (Get-Process,Get-Host等)

如果您能够在本地运行命令,或无法直接在远程计算机上testing运行命令,请尝试从提升的命令提示符 (CMD,而不是PowerShell)运行以下命令,让PowerShell明确信任远程计算机:

 winrm s winrm/config/client '@{TrustedHosts="RemoteComputer"}' 

我会尽力编辑这个答案,以便成为一个真正的“答案”,而不是一个评论,因为我不能直接评论你的问题。