我正在编写一个我想在远程服务器上运行的 powershell v2 脚本。当我运行它时,我收到错误:
连接到远程服务器失败并显示以下错误消息:WinRM 客户端无法处理请求。当前在客户端配置中禁用了未加密的流量。更改客户端配置并再次尝试请求。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。
我查看了有关 _Remote_Troubleshooting 的在线帮助,但它并没有指出如何启用未加密的流量。下面是我正在使用的导致我出现问题的脚本。
注意:我已经在远程机器上运行了 Enable-PSRemoting 以允许它接受传入的请求。
我曾尝试使用会话选项变量,但似乎没有任何区别。
$key = "HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds"
Set-ItemProperty $key ConsolePrompting True
$tvar = "password"
$password = ConvertTo-SecureString -string $tvar -asPlainText –force
$username="domain\username"
$mySessionOption = New-PSSessionOption -NoEncryption
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
invoke-command -filepath C:\scripts\RemoteScript.ps1 -sessionoption $mySessionOption -authentication digest -credential $credential -computername RemoteServer
如何启用未加密的流量?
New-PSSessionOption 有一个 -NoEncryption 选项。
在服务器端,您需要配置 WinRM(调解远程调用的底层服务)以使用未加密的 HTTP 传输。查找“winrm 快速配置”。