Una vez que ya tenemos habilitado WinRM 2.0 en el servidor al que queremos conectarnos, desde un cliente solo tenemos que ejecutar esto:
Enter-PSSession 'Nombre_Servidor'
Ya tenemos establecida una conexión interactiva con el servidor remoto y todos los cmdlets que ejecutemos se harán en el servidor remoto.
Condiciones para que funcione bien:
1) El usuario con el que hemos iniciado la sesión en el cliente debe tener privilegios administrativos en la máquina remota.
2) Las dos máquinas pertenecen al mismo dominio o hay establecida una relación de confianza.
Si no se cumple alguna de las condiciones anteriores:
Enter-PSSession 'Nombre_Servidor' -Credential:'dominio\usuario'
Para salir de la sesión interactiva:
Exit-PSSession
Ejecución de comandos en modo no interactivo:
Disponemos del cmdlet Invoke-Command para ejecutar comandos en remoto de manera no interactiva:
Invoke-Command -computerName servidor1 {Get-Process}
Invoke-Command -computerName servidor1, servidor2 {Get-Process}
Podemos también ejecutar scripts. El script tiene que estar accesible en la máquina cliente:
Invoke-Command -computername Server01, Server02 -filepath c:\Scripts\script.ps1
Pero de esta manera no mantenemos la sesión.Si queremos mantener la sesión, haremos:
$s = New-PSsession -computername Servidor1, Servidor2
Ahora podemos hacer:
Invoke-Command -session $s {$h = get-Process}
Invoke-Command -session $s {$h | where {$_.Status -eq "Stopped"}
Más información en:
about_remote_requirements
about_remote_troubleshooting
No hay comentarios:
Publicar un comentario