Nel tentativo di creare uno script PowerShell usando il telecomando mi sono imbattuto in quello che credo sia il problema del doppio hop . In quell'articolo, Perriman fornisce una descrizione sintetica del problema, nonché i passaggi specifici per risolverlo (quasi banale se si conoscono i comandi, ma per qualcuno meno familiare come me, quell'informazione era preziosa!).
Ho eseguito Enable-WSManCredSSP Server
sul mio server Win7 senza incidenti, ma il tentativo di esecuzione Enable-WSManCredSSP Client –DelegateComputer <FQDN of the server>
sul mio client Win7 ha generato questo errore:
Enable-WSManCredSSP : The client cannot connect to the destination specified
in the request. Verify that the service on the destination is running and
is accepting requests.
Consult the logs and documentation for the WS-Management service running
on the destination, most commonly IIS or WinRM. If the destination
is the WinRM service, run the following com mand on the destination
to analyze and configure the WinRM service: "winrm quickconfig".
L'esecuzione di winrm quickconfig ha confermato che il mio server eseguiva WinRM:
WinRM already is set up to receive requests on this machine.
WinRM already is set up for remote management on this machine.
E Get-WSManCredSSP ha confermato che il mio server era pronto ad accettare le credenziali da un client:
The machine is not configured to allow delegating fresh credentials.
This computer is configured to receive credentials from a remote client computer.
Ho anche trovato l' articolo di Boessen su WinRM in cui descrive la configurazione generale di WinRM e ho trovato un bocconcino per ottenere un utile punto di dati nella diagnosi; questo comando eseguito sul client utilizza lo strumento winrs per accedere in remoto al server:
winrs -r:http://<FQDN of my server>:5985 -u:<myDomain>\msorens "dir c:\"
Quel comando ha restituito il risultato atteso, il contenuto della directory principale sul server, senza incidenti, confermando che il mio FQDN è corretto e che WinRM è abilitato.
Boessen indica che la porta 5985 è l'impostazione predefinita per Win7; questo comando eseguito sul server conferma un valore di 5985:
get-item wsman:\localhost\listener\listener*\port
La domanda: Perché non riesco a eseguire il comando Enable-WSManCredSSP sul lato client?
Aggiornamento 2011.06.07
Ho trovato una soluzione alla domanda sopra: invocare Enable-PSRemoting , pubblicizzato per configurare un computer per ricevere comandi remoti, ha permesso a Enable-WSManCredSSP sul client di funzionare correttamente! Curioso, ma la sua pagina man indica che fa una serie di azioni diverse, quindi presumo che uno di quelli abbia inavvertitamente fatto ciò di cui avevo bisogno.
Ma poi ho raggiunto un altro blocco quando ho tentato di utilizzare l'autenticazione CredSSP. Ecco il comando:
Invoke-Command { Write-Host "hello, world" } -computername $serverName `
-credential $testCred -Authentication Credssp
Ed ecco la risposta:
La connessione al server remoto non è riuscita con il seguente messaggio di errore: Il client WinRM non può elaborare la richiesta. Un criterio informatico non consente la delega delle credenziali dell'utente al computer di destinazione. Usa gpedit.msc e osserva il seguente criterio: Configurazione computer -> Modelli amministrativi -> Sistema -> Delega credenziali -> Consenti delega di nuove credenziali. Verifica che sia abilitato e configurato con un nome SPN appropriato per il computer di destinazione. Per esempio, per un nome di computer di destinazione "myserver.domain.com", l'SPN può essere uno dei quanto segue: WSMAN /myserver.domain.com o WSMAN / *. domain.com. Per ulteriori informazioni, consultare l'argomento della guida about_Remote_Tro troubleshooting.
Ho verificato le impostazioni proprio come suggerito da questo messaggio di errore straordinariamente utile, e mi sembra che sia configurato correttamente.
La nuova domanda: cosa fallisce questa connessione remota con CredSSP?
Nel rispondere, ti preghiamo di tenere presente quanto segue: Fammi dissipare in anticipo qualsiasi idea che io sappia cosa sto facendo qui, nonostante qualsiasi aspetto contrario. :-) L'amministratore di Windows non è la mia area di competenza!