powershell v2 remoting - Como você habilitar o tráfego não criptografado
-
16-09-2019 - |
Pergunta
Eu estou escrevendo um script powershell v2 que eu gostaria de correr contra um servidor remoto. Quando eu executá-lo, eu recebo o erro:
Como conectar ao servidor remoto falhou com a seguinte mensagem de erro: O cliente WinRM não pode processar a solicitação. tráfego não criptografado é atualmente desativada no cliente configuração. Alterar o cliente configurati e tente o pedido novamente. Para mais informações, consulte o about_ Remote_Troubleshooting Ajuda tópico.
Eu olhei para a ajuda on-line por cerca de _ Remote_Troubleshooting, mas não me aponte no sentido de como habilitar o tráfego não criptografados. Abaixo está o script que estou usando que está me causando problemas.
Nota: Eu já executar Enable-PSRemoting na máquina remota para permitir que ele para aceitar solicitações de entrada
.
Eu tentei usar uma variável de opção de sessão, mas não parece fazer qualquer diferença.
$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
Como faço para habilitar o tráfego não criptografado?
Solução
AllowEncrypted é definido no lado do cliente, através da WSMAN: unidade. Você deve estar executando powershell.exe (ou powershell_ise.exe) como um processo elevado.
ps> cd WSMan:\localhost\Client
ps> dir
Name Value
---- -----
NetworkDelayms 5000
URLPrefix wsman
AllowUnencrypted false
Auth
DefaultPorts
TrustedHosts
Você iria mudá-lo assim (depois de mudar para o diretório acima):
ps> set-item. \ Allowunencrypted $ true
Espero que isso ajude,
- Oisin
Outras dicas
Você provavelmente terá que definir a configuração de configuração AllowUnencrypted tanto o cliente eo serviço. A definição de serviços tem de ser alterado no servidor remoto usando o seguinte:
set-item -force WSMan:\localhost\Service\AllowUnencrypted $true
E não se esqueça de também permitir que Digest autorização:
set-item -force WSMan:\localhost\Service\Auth\Digest $true
Isso funcionou para mim:
enable-wsmancredssp –role server