PowerShell v2 interacción remota - Cómo hacerlo tráfico sin cifrar
-
16-09-2019 - |
Pregunta
Estoy escribiendo un script de PowerShell v2 que me gustaría correr en un servidor remoto. Cuando corro, me sale el error:
Conexión al servidor remoto fallado con el mensaje de error: El cliente WinRM no puede procesar la solicitud. tráfico sin cifrar es Actualmente deshabilitado en el cliente configuración. Cambiar el cliente Configuratio y tratar la solicitud de nuevo. Para obtener más información, consulte la about_ Remote_Troubleshooting Ayuda tema.
Miré a la ayuda en línea por alrededor _ Remote_Troubleshooting, pero no me apuntan hacia cómo habilitar el tráfico unecrypted. A continuación se muestra la secuencia de comandos que estoy usando que me está causando problemas.
Nota: Ya he ejecutar Enable-PSRemoting en la máquina remota para que pueda aceptar las peticiones entrantes
.
He tratado de utilizar una variable opción de sesión, pero no parece hacer ninguna diferencia.
$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
¿Cómo habilitar el tráfico sin cifrar?
Solución
AllowEncrypted se define en el cliente final, a través de la WSMAN: unidad. Debe estar ejecutando powershell.exe (o powershell_ise.exe) como un proceso elevada.
ps> cd WSMan:\localhost\Client
ps> dir
Name Value
---- -----
NetworkDelayms 5000
URLPrefix wsman
AllowUnencrypted false
Auth
DefaultPorts
TrustedHosts
Se podría cambiarlo al igual que (después de cambiar al directorio anterior):
ps>-conjunto de elementos. \ Allowunencrypted $ true
Espero que esta ayuda,
- Oisin
Otros consejos
Es probable que necesite para establecer el ajuste de configuración AllowUnencrypted tanto en el cliente y el servicio. La configuración de servicio tiene que ser cambiado en el servidor remoto utilizando el siguiente:
set-item -force WSMan:\localhost\Service\AllowUnencrypted $true
Y no se olvide de que también permiten Digesto Autorización:
set-item -force WSMan:\localhost\Service\Auth\Digest $true
Esto funcionó para mí:
enable-wsmancredssp –role server