Al intentar crear un script de PowerShell usando la comunicación remota, me encontré con lo que creo que es el problema del doble salto . En ese artículo, Perriman da una descripción sucinta del problema, así como los pasos específicos para resolver el problema (casi trivial si conoce los comandos, pero para alguien menos familiar como yo, ¡esa información fue invaluable!).
Ejecuté Enable-WSManCredSSP Server
en mi servidor Win7 sin incidentes, pero intentar ejecutar Enable-WSManCredSSP Client –DelegateComputer <FQDN of the server>
en mi cliente Win7 generó este error:
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".
Ejecutar winrm quickconfig confirmó que mi servidor estaba ejecutando WinRM:
WinRM already is set up to receive requests on this machine.
WinRM already is set up for remote management on this machine.
Y Get-WSManCredSSP confirmó que mi servidor estaba listo para aceptar credenciales de un cliente:
The machine is not configured to allow delegating fresh credentials.
This computer is configured to receive credentials from a remote client computer.
También encontré el artículo de Boessen sobre WinRM en el que describe la configuración general de WinRM y encontré un tidbit para obtener un punto de datos útil en el diagnóstico; Este comando ejecutado en el cliente utiliza la herramienta winrs para acceder de forma remota al servidor:
winrs -r:http://<FQDN of my server>:5985 -u:<myDomain>\msorens "dir c:\"
Ese comando devolvió el resultado esperado, el contenido del directorio raíz en el servidor, sin incidentes, confirmando que mi FQDN es correcto y que WinRM está habilitado.
Boessen indica que el puerto 5985 es el predeterminado para Win7; Este comando ejecutado en el servidor confirma un valor de 5985:
get-item wsman:\localhost\listener\listener*\port
La pregunta: ¿Por qué no puedo ejecutar el comando Enable-WSManCredSSP en el lado del cliente?
2011.06.07 Actualizar
Encontré una solución a la pregunta anterior: invocar Enable-PSRemoting , anunciado para configurar una computadora para recibir comandos remotos, ¡permitió que Enable-WSManCredSSP en el cliente funcionara con éxito! Curioso, pero su página de manual indica que realiza una serie de acciones diferentes, por lo que supongo que uno de ellos hizo lo que necesitaba sin darse cuenta.
Pero luego llegué a otro obstáculo cuando intenté usar la autenticación CredSSP. Aquí está el comando:
Invoke-Command { Write-Host "hello, world" } -computername $serverName `
-credential $testCred -Authentication Credssp
Y aquí está la respuesta:
La conexión al servidor remoto falló con el siguiente mensaje de error: El cliente WinRM no puede procesar la solicitud. Una política informática no permite la delegación de las credenciales de usuario a la computadora de destino. Use gpedit.msc y mire la siguiente política: Configuración de la computadora -> Plantillas administrativas -> Sistema -> Delegación de credenciales -> Permitir delegar nuevas credenciales. Verifique que esté habilitado y configurado con un SPN apropiado para la computadora de destino. Por ejemplo, para un nombre de computadora de destino "myserver.domain.com", el SPN puede ser uno de lo siguiente: WSMAN /myserver.domain.com o WSMAN / *. domain.com. Para obtener más información, consulte el tema de ayuda about_Remote_Troubleshooting.
Verifiqué la configuración tal como lo sugirió este mensaje de error notablemente útil, y me parece que está configurada correctamente.
La nueva pregunta: ¿Qué falla este intento de conexión remota con CredSSP?
Al responder, tenga en cuenta lo siguiente: Permítame disipar de antemano cualquier noción de que sé lo que estoy haciendo aquí, a pesar de cualquier apariencia en contrario. :-) ¡El administrador de Windows no es mi área de especialización!