psremoting e autenticação credssp para localhost

1

Eu tenho duas máquinas A e B .

ambos possuem: psremoting ativado, o credssp ativa como cliente e servidor.

da máquina A posso criar uma nova pssession para B com -Authentication credssp

da máquina B posso criar uma nova pssession para A com -Authentication credssp

Tudo está funcionando bem neste momento. Meu problema é que tenho um script que será executado no computador A e inicie uma nova sessão de pss em A e B e mova alguns arquivos (sharepoint stuffs é um assunto totalmente diferente). O script que escrevi foi executado originalmente a partir de um computador externo e, portanto, ele possui um código que faz o controle remoto dos dois sistemas. Mas agora o script está sendo executado a partir do computador A e, para a minha vida, não consigo que o credssp funcione no host local.

Eu tentei definir -delegatecomputer (para enable-wsmancredssp -role client) e -computername (para new-pssession -authentication credssp) para qualquer . , localhost ou 127.0.0.1 . Nenhum deles me permitiu iniciar uma nova pssession do computador A de volta ao computador A .

Então, o núcleo da minha pergunta é:

  1. Você pode delegar credenciais do credssp para o host local?
  2. se não houver uma maneira de criar uma pssession que me permita ainda efetuar login no ponto de compartilhamento dentro dessa sessão (por exemplo, passar mais credenciais)?
  3. Pior caso: vou ter que reescrever meu roteiro.
por CodePartizan 06.01.2014 / 20:22

1 resposta

1

Conectar-se ao computador local deve funcionar bem. No entanto, apenas fazendo uma tentativa rápida, eu tive que usar o nome do computador local para poder conectar, em vez de localhost (acho que isso tem a ver com o NTLM vs Kerberos). Portanto, a execução dos seguintes comandos (em um computador com o Windows Server 2008 R2 com PowerShell 2) foi muito boa para mim:

Enable-WSManCredSSP -Role Server
Enable-WSManCredSSP -Role Client -DelegateComputer MyComputerNameHere
$session = New-PSSession -ComputerName MyComputerNameHere -Authentication Credssp -Credential (Get-Credential)

Para que funcione em um computador que não faz parte do domínio (em um computador com Windows 8.1 com o PowerShell 4), tive que fazer uma alteração na diretiva de grupo (mencionada na mensagem de erro fornecida). A configuração que eu precisava fazer era ativar a configuração Computer Configuration -> Administrative Templates -> System -> Credentials Delegation -> Allow Delegating Fresh Credentials with NTLM-only Server Authentication e também adicionar o nome do computador à lista de nomes de computadores nessa diretiva. Após essa alteração, o código acima funcionou bem, mesmo em um computador não associado a um domínio.

    
por 06.01.2014 / 23:34