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?

Foi útil?

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top