web-dev-qa-db-fra.com

powershell v2 remoting - Comment activer le trafic non crypté

J'écris un script powershell v2 que j'aimerais exécuter sur un serveur distant. Lorsque je l'exécute, j'obtiens l'erreur:

La connexion au serveur distant a échoué avec le message d'erreur suivant: Le client WinRM ne peut pas traiter la demande. Le trafic non chiffré est actuellement désactivé dans la configuration du client. Modifiez la configuration du client et réessayez la demande. Pour plus d'informations, consultez la rubrique d'aide about_ Remote_Troubleshooting.

J'ai regardé l'aide en ligne pour environ _ Remote_Troubleshooting, mais cela ne m'a pas indiqué comment activer le trafic non crypté. Voici le script que j'utilise et qui me pose des problèmes.

Remarque: J'ai déjà exécuté Enable-PSRemoting sur la machine distante pour lui permettre d'accepter les demandes entrantes.
J'ai essayé d'utiliser une variable d'option de session, mais cela ne semble faire aucune 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 activer le trafic non crypté?

31
Peter Walke

AllowEncrypted est défini côté client, via le lecteur WSMAN :. Vous devez exécuter powershell.exe (ou powershell_ise.exe) en tant que processus élevé.

ps> cd WSMan:\localhost\Client
ps> dir
Name                      Value
----                      -----
NetworkDelayms            5000
URLPrefix                 wsman
AllowUnencrypted          false
Auth
DefaultPorts
TrustedHosts

Vous le changeriez ainsi (après avoir changé dans le répertoire ci-dessus):

ps> set-item.\allowunencrypted $ true

J'espère que cela t'aides,

  • Oisin
45
x0n

Vous devrez probablement définir le paramètre de configuration AllowUnencrypted dans le client et le service. Le paramètre Service doit être modifié sur le serveur distant à l'aide des éléments suivants:

set-item -force WSMan:\localhost\Service\AllowUnencrypted $true

Et n'oubliez pas d'activer également l'autorisation Digest:

set-item -force WSMan:\localhost\Service\Auth\Digest $true
12
KenSV

Cela a fonctionné pour moi:

enable-wsmancredssp –role server
1
c0D3l0g1c