Powershell v2 Remoting - Wie Sie unverschlüsselten Datenverkehr ermöglichen
-
16-09-2019 - |
Frage
Ich schreibe ein Powershell v2-Skript, das ich mit einem Remote-Server ausgeführt werden möchte. Wenn ich es laufen lasse, erhalte ich die Fehlermeldung:
Verbindung zu Remote-Server fehlgeschlagen Die folgende Fehlermeldung: Der WinRM-Client kann das nicht verarbeiten Anfrage. Unverschlüsselten Datenverkehr ist zur Zeit in dem Client deaktiviert Aufbau. Ändern Sie den Client Konfigurati auf und versuchen, die Anfrage nochmal. Weitere Informationen finden Sie in der about_ Remote_Troubleshooting Hilfe Thema.
Ich schaute auf der Online-Hilfe über _ Remote_Troubleshooting, aber es hat mich zeigt nicht auf, wie unecrypted Verkehr zu ermöglichen. Im Folgenden finden Sie das Skript, das ich, dass ich mit mir wird Probleme verursachen.
Hinweis: Ich habe bereits ausgeführt auf dem entfernten Rechner Enable-PSRemoting ermöglichen es eingehende Anfragen zu akzeptieren
.
Ich habe versucht, eine Sitzung Option Variable zu verwenden, aber es scheint keinen Unterschied zu machen.
$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
Wie kann ich unverschlüsselten Datenverkehr aktivieren?
Lösung
AllowEncrypted wird auf dem Client-Ende definiert, über die WSMAN: Antrieb. Sie müssen powershell.exe (oder powershell_ise.exe) als erhöhter Prozess ausgeführt werden.
ps> cd WSMan:\localhost\Client
ps> dir
Name Value
---- -----
NetworkDelayms 5000
URLPrefix wsman
AllowUnencrypted false
Auth
DefaultPorts
TrustedHosts
Sie würde es wie so ändern (nach oben in das Verzeichnis zu ändern):
ps> set-item. \ Allowunencrypted $ true
Hope, das hilft,
- Oisin
Andere Tipps
Sie müssen wahrscheinlich die AllowUnencrypted Konfigurationseinstellung in setzen sowohl dem Kunden und der Service. Die Service-Einstellung muss in dem Remote-Server unter Verwendung der folgenden geändert werden:
set-item -force WSMan:\localhost\Service\AllowUnencrypted $true
Und vergessen Sie nicht, auch Digest Autorisierung aktivieren:
set-item -force WSMan:\localhost\Service\Auth\Digest $true
Das funktioniert für mich:
enable-wsmancredssp –role server