远程执行 PowerShell 脚本失败

远程执行 PowerShell 脚本失败

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

Invoke-Command:使用“1”个参数调用“ToXmlString”时发生异常:“无法完成请求的操作。必须信任计算机才能进行委派,并且必须将当前用户帐户配置为允许委派。

执行中断的确切代码行如下:

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

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

答案1

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

答案2

您提到这是一个远程脚本。我有几个问题可以尝试缩小问题范围:

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

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

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

我会尝试将这个答案编辑成真正的“答案”而不是评论,因为我无法直接评论你的问题。

相关内容