Autenticação remota do PowerShell

3

Quando estou logado como o mesmo user do servidor, posso Enter-PSSession com:

> Enter-PSSession -ConnectionURI http://xxx.xx.xxx.xx:5985

No entanto, quando estou logado como um usuário diferente (na mesma máquina) e tento Enter-PSSession com -Credential parameter:

> Enter-PSSession -ConnectionUri http://xxx.xx.xxx.xx:5985 -Credential user

Depois de inserir a senha, recebo:

Enter-PSSession : Connecting to remote server xxx.xx.xxx.xx failed with the
following error message : Access is denied. For more information, see the
about_Remote_Troubleshooting Help topic.
At line:1 char:1
+ Enter-PSSession -ConnectionUri http://xxx.xx.xxx.xx:5985 -Credential user
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (http://xxx.xx.xxx.xx:5985/:Uri
  ) [Enter-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId : CreateRemoteRunspaceFailed
    
por joon 01.01.2014 / 12:59

1 resposta

7

(1) Você pode pular o http: // stuff se estiver usando a configuração padrão do WinRM e em vez de:

Enter-PSSession -ConnectionURI http://xxx.xx.xxx.xx:5985

digite o seguinte:

Enter-PSSession xxx.xx.xx.xx

Você também pode usar o nome DNS do servidor, em vez de seu IP, se houver uma entrada DNS para o sistema.

(2) Por padrão, somente os membros do grupo de administradores têm permissão para se conectar a pontos de extremidade remotos PS. Tem certeza de que sua conta é membro desse grupo?

(3) Eu li em algum lugar que o parâmetro -Credential de Enter-PSSession está quebrado. A solução alternativa é criar o objeto de credencial de antemão:

$cred = Get-Credential

Enter-PSSession XXX.XX.XX.XX -credential $cred

Por favor, tente isso e informe se funciona.

(4) Se você está tentando se conectar a uma máquina que não faz parte do seu domínio, você precisa adicioná-la à lista de computadores confiáveis no computador em que você está tentando iniciar a sessão de remoting a partir de:

winrm s winrm/config/client '@{TrustedHosts="RemoteComputerName"}'

E você precisa informar explicitamente ao enter-pssession qual conta de usuário na máquina remota será usada:

$Cred = Get-Credential "remotecomputername\username"

Enter-PSSession XXX.XX.XX.XX -Credential $Cred

    
por 01.01.2014 / 13:22

Tags