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é?

Était-ce utile?

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top