O Powershell remoto não está funcionando, mas o test-wsman não

1

Eu preciso rotear algumas tarefas de rotina para serem executadas remotamente de um serverA para muitos hosts, mas algumas delas não executam o script.

Se eu executar isto:

$cred = Get-Credential myUser
Invoke-Command -ComputerName serverB -ScriptBlock{gci d:\} -Credential $cred

ou isto:

Test-WSMan -ComputerName ServerB -Credential $cred -Authentication Negotiate

Eu recebo o seguinte erro

[SeverB] Connecting to remote server ServerB failed with the following error message : WinRM cannot process the request. The following error with errorcode 0x80090322 occurred while using Negotiate authentication: An unknown security error occurred. Possible causes are: -The user name or password specified are invalid. -Kerberos is used when no authentication method and no user name are specified. -Kerberos accepts domain user names, but not local user names. -The Service Principal Name (SPN) for the remote computer name and port does not exist. -The client and remote computers are in different domains and there is no trust between the two domains. After checking for the above issues, try the following: -Check the Event Viewer for events related to authentication. -Change the authentication method; add the destination computer to the WinRM TrustedHosts configuration setting or use HTTPS transport. Note that computers in the TrustedHosts list might not be authenticated. -For more information about WinRM configuration, run the following command: winrm help config. For more information, see the about_Remote_Troubleshooting Help topic. + CategoryInfo : OpenError: (serverB:String) [], PSRemotingTransportException + FullyQualifiedErrorId : -2144108387,PSSessionStateBroken

Mas quando eu usei o test-wsman sozinho:

Test-WSMan -ComputerName ServerB

wsmid : 
http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor   : Microsoft Corporation
ProductVersion  : OS: 0.0.0 SP: 0.0 Stack: 3.0

Eu não sei onde o problema poderia estar. Eu já tinha tentado usar enable-psremote , winrm qc , verificando configurações de firewall e privilégios de usuário

    
por Nico Osorio 06.10.2017 / 14:38

2 respostas

1

Eu resolvi meu problema. Há um problema conhecido entre a Autenticação do Kerberos, o Powershell Remoto e o Serviço de Intregation (o servidor está executando esse aplicativo). Informações podem ser encontradas aqui e aqui

Eu tenho que criar um registro de DNS para o servidor (serverB_alias) e definir o HTTP spn para este servidor para a conta especificando a porta que o wsman tenta se conectar (5985).

setspn -s http/serverB domain\user
setspn -s http/serverB.domain domain\user
setspn -s http/serverB_alias:5985 domain\user
setspn -s http/serverB_alias.domain:5985 domain\user

Por fim, eu adiciono ao servidor Uma lista de host confiável do alias DNS usando:

$curValue = (get-item wsman:\localhost\Client\TrustedHosts).value
set-item wsman:\localhost\Client\TrustedHosts -value "$curValue, serverB_alias"
    
por 23.10.2017 / 16:09
1

parece um problema com o problema de mapeamento spn exst, No powershell você pode excluir a conta spn e tentar novamente.

setspn -D HTTP/SERVERNAME <domain account>
setspn -D HTTP/SERVERNAME.DOMAINAME.COM <domain account>

Se o problema persistir, você pode verificar com o uso do endereço IP (IPv4) em vez do nome do servidor para ignorar o erro Kerberos.

Fonte link

link

    
por 08.10.2017 / 05:34