O módulo AD do PowerShell não funcionará em pssession, a menos que as credenciais sejam fornecidas explicitamente

O módulo AD do PowerShell não funcionará em pssession, a menos que as credenciais sejam fornecidas explicitamente

Tendo um problema com um novo servidor principal de 2016. (Migrado recentemente um servidor de 2012r2)

Em nosso servidor 2012r2 anterior, eu poderia executar um script do PowerShell por meio de uma sessão ps remota (enter-pssession oldservername). Agora, no novo servidor, recebo erros.

Este script usa comandos do módulo AD (get-aduser, get-adgroup etc).

ao executar via sessão remota, isso acontece:

PS C:\> enter-pssession newserver
[newserver]: PS C:\> get-aduser username
Unable to contact the server. This may be because this server does not exist, 
it is currently down, or it does not have the Active Directory Web Services running.
+ CategoryInfo          : ResourceUnavailable: (username:ADUser) [Get-ADUser], ADServerDownException
+ FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.GetADUser

No entanto, se eu especificar como get-aduser username -Credential (Get-Credential), funciona bem.

Se eu executar o script diretamente no servidor (rdp para ele), ele funcionará bem.

Invoke-Command -Session $sess -ScriptBlock {get-aduser username}também falha.

Estou assumindo que algo tem a ver com a forma como as credenciais são passadas sendo diferentes em 2016. Alguém já passou por isso antes? existe uma maneira de resolver isso?

Responder1

Você está basicamente enfrentando o problema clássico de salto duplo do Kerberos. É provável que seu servidor 2012 R2 anterior tenha sido configurado para alguma forma de delegação Kerberos e seu novo servidor (ainda).

Aqui está uma ótima postagem no blog do Technet que descreve o problema em detalhes no que se refere ao PowerShell e às várias maneiras de resolvê-lo.

PowerShell Remoting Kerberos Double Hop resolvido com segurança

informação relacionada