v2 powershell Remoting - Comment activer le trafic non crypté
-
16-09-2019 - |
Question
J'écris un script v2 powershell que je voudrais exécuter sur un serveur distant. Quand je lance, je reçois l'erreur:
Connexion au serveur distant a échoué avec le message d'erreur suivant: Le client WinRM ne peut pas traiter la demande. le trafic est non crypté actuellement désactivé sur le client configuration. Modifier le client Configurati et essayez la demande encore. Pour plus d'informations, consultez le about_ Remote_Troubleshooting Aide sujet.
Je regardais l'aide en ligne pour environ _ Remote_Troubleshooting, mais il ne m'a pas pointer vers comment activer le trafic non cryptées. Voici le script que j'utilise qui me cause des problèmes.
Note: Je l'ai déjà exécuté Enable-PSRemoting sur la machine distante pour lui permettre d'accepter les demandes entrantes
.
Je l'ai essayé d'utiliser une variable d'option de session, mais il ne semble pas faire de différence.
$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
Comment puis-je activer le trafic non crypté?
La solution
AllowEncrypted est définie à l'extrémité client, par l'intermédiaire du WSMAN: entraînement. Vous devez exécuter powershell.exe (ou powershell_ise.exe) comme un processus élevé.
ps> cd WSMan:\localhost\Client
ps> dir
Name Value
---- -----
NetworkDelayms 5000
URLPrefix wsman
AllowUnencrypted false
Auth
DefaultPorts
TrustedHosts
Vous changeriez comme si (après avoir changé le répertoire ci-dessus):
ps> set-item. \ Allowunencrypted $ true
Hope this helps,
- Oisin
Autres conseils
Vous aurez probablement besoin de définir le paramètre de configuration AllowUnencrypted à la fois le client et le service. Le réglage de service doit être changé dans le serveur distant en utilisant ce qui suit:
set-item -force WSMan:\localhost\Service\AllowUnencrypted $true
Et ne pas oublier de permettre également l'autorisation Digest:
set-item -force WSMan:\localhost\Service\Auth\Digest $true
Cela a fonctionné pour moi:
enable-wsmancredssp –role server