Я пишу сценарий 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.
$PSSessionOption = New-PSSessionOption -NoEncryption
На стороне сервера вам необходимо настроить WinRM (базовая служба, которая опосредует удаленный вызов) для использования незашифрованного транспорта HTTP. Найдите "winrm quickconfig".