2009-09-24 5 views
28

J'écris un script Powerhell v2 que je voudrais exécuter sur un serveur distant. Quand je lance, je reçois l'erreur:powershell v2 remoting - Comment activer le trafic non crypté

Connexion au serveur distant a échoué avec le message d'erreur suivant: Le client WinRM ne peut pas traiter la demande . Le trafic non crypté est actuellement désactivé dans la configuration . Modifiez la configuration du client et essayez à nouveau la demande . Pour plus d'informations, reportez-vous à la rubrique about_ Remote_Troubleshooting Help .

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

Remarque: J'ai déjà exécuté Enable-PSRemoting sur l'ordinateur distant pour lui permettre d'accepter les demandes entrantes.
J'ai essayé d'utiliser une variable d'option de session, mais cela 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 activer le trafic non crypté? AllowEncrypted est défini du côté client, via le lecteur WSMAN:.

Répondre

41

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 changeriez comme si (après avoir changé le répertoire ci-dessus).

ps> set-item \ allowunencrypted $ true

Hope this helps,

  • Oisin
+0

+1 c'était ça ... merci pour l'aide –

+1

Même problème ici, même après avoir fait ce que vous avez dit, en lançant toujours la même erreur. une idée? – unruledboy

+0

@unruledboy Regardez à nouveau - est-ce que ça dit vraiment "Le trafic non crypté est actuellement désactivé dans la configuration _client_"? – x0n

11

Vous devrez probablement définir l'option AllowUnencrypted réglage de la figue dans le client et le service. Le paramètre de service doit être changé dans le serveur distant en utilisant les éléments suivants:

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 
+1

Pourquoi auriez-vous besoin d'activer Digest Authorization? –

+1

Oh, idiot moi! C'est pour permettre au système de digérer les nouveaux paramètres, bien sûr. – x0n

+0

J'apprécie votre humour informatique @ x0n –

0

Cela a fonctionné pour moi:

enable-wsmancredssp –role server 
Questions connexes