Administrar Windows Server con Remote Manager (WinRM)

11/01/2013

Cuando administramos un servidor de Windows Server, disponemos de varias alternativas para ello. Quizás la más conocida y utilizada sea el escritorio remoto. Otra también conocida es la consola MMC que puede ser añadida en otro PC o servidor y conectarse en remoto. Un ejemplo de este último está explicado en esta entrada y se utiliza para conectar a server core: https://miblogtecnico.wordpress.com/2013/01/02/como-utilizar-server-core-en-windows-server/

Pero también existe otro método mucho menos conocido que también es muy útil para administrar remotamente un servidor y es el análisis de esta entrada. Dicho método es Remote Manager o WinRM. Este método permite administrar completamente un servidor remotamente, tal como lo haría el comando remote shell (rsh) en Linux.

http://msdn.microsoft.com/en-us/library/windows/desktop/aa384426(v=vs.85).aspx

WinRM viene instalado en los clientes y servidores de Windows. Es por ello, que por ejemplo podemos utilizar nuestro Windows 7 para controlar remotamente por comandos nuestro Windows Server 2008, aunque hay que habilitar una configuración inicial en el firewall para poder usarlo. Veamos un ejemplo de cómo utilizar WinRM.

Para poder usar WinRM, primero hay que permitir la comunicación de WinRM en la red. Para ello ejecutamos el comando winrm qc que habilitará la comunicación de WinRM en el firewall. Este comando hay que ejecutarlo tanto en el cliente, como en el servidor que se quiere controlar.

Habilitar la comunicación de WinRM en la red con winrm qc

Habilitar la comunicación de WinRM en la red con winrm qc

Una vez configurada la comunicación entre el cliente y el servidor con winrm qc, entonces ya podemos lanzar comandos de ejecución sobre WinRM. Para ello utilizamos el comando WinRS. Para ejecutar el comando en remoto utilizamos el parámetro -r indicando el nombre de la máquina y entre comillas el comando. Por ejemplo, para ejecutar el comando dir c:\ en el servidor SERVER2 deberíamos ejecutar el comando: winrs -r:SERVER2 “dir c:\”.

Ejecución del comando remoto "dir c:\" con winrs

Ejecución del comando remoto “dir c:\” con winrs

Una forma de dar más potencia a la administración de WinRM, es cargando PowerShell. Esto nos permitiría por ejemplo iniciar/parar servicios, agregar/quitar roles o funciones, llamar a una función de una librería DLL, utilizar bucles, variables…. en definitiva todo lo que permitía el shell de Linux y que no teníamos en Windows. Para ejecutar PowerShell, precisamente ejecutamos el comando PowerShell.

Ejecutar PowerShell en WinRM

Ejecutar PowerShell en WinRM

Una vez ejecutado PowerShell, nos trae la consola para poder ejecutar comandos de PowerShell. Inicialmente tendremos que habilitar una sesión utilizando PowerShell en un servidor remoto. Eso se hace con el comando Enter-PSSession -computername SERVER2.

Habilitar PowerShell remoto con WinRS

Habilitar PowerShell remoto con WinRS

Una vez tenemos la sesión remota de PowerShell, ya podemos lanzar comandos remotos. Por ejemplo si queremos consultar los servicios del servidor SERVER2, se haría con el comando Get-Services de PowerShell.

 

Obtención de los servicios con PowerShell usando WinRS

Obtención de los servicios con PowerShell usando WinRS

 

De la misma forma que obtenemos los servicios en remoto con PowerShell y WinRS, podríamos ejecutar cualquier cmdlet de PowerShell. Aquí os dejo una web de Microsoft con todas las tareas que pueden hacerse con PowerShell y su cmdlet correspondiente.

http://technet.microsoft.com/en-us/scriptcenter/dd772285.aspx

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: