¿Cómo habilitar y configurar WinRM (administración remota de Windows) a través de GPO?

En este artículo, mostraremos cómo habilitar y configurar la administración remota de Windows (WinRM) en equipos de dominio mediante la directiva de grupo (GPO). La administración remota de Windows es una implementación del protocolo WS-Management para la administración remota de escritorios y servidores de Windows. WinRM le permite administrar equipos de forma remota a través de:

  • Administrador del servidor (servidor de Windows)
  • Comunicación remota de PowerShell (PSSession)
  • Centro de administración de Windows (WAC)

¿Cómo habilitar manualmente WinRM en Windows?

El servicio WinRM está disponible en todas las versiones modernas de Windows. En Windows Server está habilitado de forma predeterminada, pero está deshabilitado en las ediciones de escritorio de Windows 11/10/8.1. De forma predeterminada, el agente de escucha de WinRM no acepta conexiones remotas. Para verificarlo, ejecute el siguiente comando en un cliente:

WinRM enumerate winrm/config/listener

Verá un error que dice que el WinRM no está configurado:

WSManFault Message = 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 command on the destination to analyze and configure the WinRM service: "winrm quickconfig".
Error number: -2144108526 0x80338012

Error de enumeración de WinRM WSManFault

Para habilitar y configurar el servicio WinRM en Windows, basta con ejecutar este comando:

winrm quickconfig

o

Enable-PSRemoting –Force

WinRM has been updated to receive requests.
WinRM service type changed successfully.
WinRM service started.

habilitar-psremoting (winrm) powershell manualmente

Este comando cambiará el tipo de inicio del servicio WinRM a automático, aplicará la configuración predeterminada de WinRM y agregará excepciones para los puertos WinRM (TCP 5985 y 5986) a la lista de excepciones en Microsoft Defender Firewall.

Configuración de WinRM a través de la política de grupo

Puede habilitar y configurar automáticamente WinRM en equipos de dominio mediante GPO de Windows.

  1. Abra la Consola de administración de directivas de grupo (gpmc.msc), seleccione un contenedor de Active Directory (unidad organizativa) con las computadoras en las que desea habilitar WinRM y cree un nuevo GPO: corpEnableWinRM;habilitar WinRM con GPO
  2. Abra la política para editarla;
  3. Vaya a Configuración de la computadora -> Políticas -> Configuración de Windows -> Configuración de seguridad -> Servicios del sistema. Encuentra el Servicio remoto de Windows (WS-Management) servicio y habilite el inicio automático para ello; Inicio automático del servicio de administración remota de Windows (WS-Management)
  4. Luego vaya a Políticas informáticas -> Preferencias -> Configuración del panel de control -> Servicios. Seleccione Nuevo -> Servicio. Ingrese el nombre del servicio WinRMy seleccione el Reiniciar el servicio acción sobre el Recuperación pestaña; reinicie el servicio winrm en caso de falla
  5. Vaya a Configuración del equipo -> Políticas -> Plantillas administrativas -> Componentes de Windows -> Administración remota de Windows (WinRM) -> Servicio WinRM. Habilitar Permitir la administración remota del servidor a través de WinRM. En el cuadro de filtro Ipv4/IPv6, puede especificar direcciones IP o subredes en las que se deben escuchar las conexiones WinRM. Si desea permitir conexiones WinRM en todas las direcciones IP, deje * aquí; habilitar gpo: permitir la administración remota del servidor a través de WinRM
  6. Cree reglas de Firewall de Windows Defender que permitan conexiones WinRM en los puertos predeterminados TCP/5985 y TCP/5986. Vaya a Configuración del equipo -> Políticas -> Configuración de Windows -> Configuración de seguridad -> Firewall de Windows con seguridad avanzada -> Firewall de Windows con seguridad avanzada -> Reglas de entrada. Seleccione Gestión remota de Windows regla predefinida; abrir puertos de firewall de administración remota de Windows
  7. Vaya a Configuración de la computadora -> Políticas -> Componentes de Windows -> Shell remoto de Windows y habilite Permitir acceso de shell remoto. Política de grupo de WinRM: Permitir acceso de shell remoto

Actualice la configuración de GPO en sus clientes y asegúrese de que WinRM se haya configurado automáticamente. Puede usar la herramienta gpresult para solucionar problemas de configuración de directiva de grupo en equipos cliente.

Comprobación de la configuración de WinRM y la conectividad de PowerShell

Para verificar que la configuración de WinRM en la computadora esté configurada a través de GPO, ejecute el comando:

winrm e winrm/config/listener

El comando muestra la configuración actual del agente de escucha de WinRM. Nota la Listener [Source="GPO"] línea. Esto significa que la configuración actual de WinRM se configura a través del GPO.

escucha winrm configurado a través de GPO

Puede listar la configuración completa de su servicio WinRM usando este comando:

winrm get winrm/config

Luego intente conectarse a una computadora remota a través de WinRM. Abra la consola de PowerShell y ejecute el siguiente comando:

Test-WsMan wsk-w10b01

Si WinRM está habilitado, aparecerá la siguiente respuesta:

wsmid : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor : Microsoft Corporation
ProductVersion : OS: 0.0.0 SP: 0.0 Stack: 3.0

conectividad remota test-wsman (winrm)

Puede buscar un puerto WinRM abierto (TCP/5985) en la computadora remota con PowerShell:

Test-NetConnection -ComputerName wsk-w10b01 -Port 5985

Luego, puede intentar conectarse a una computadora remota de forma interactiva usando PSRemoting y el cmdlet Enter-PSSession:

Enter-PSSession wsk-w10b01

Uso de Enter-PSsession a través de WinRM PSSremoting

En este caso, la conexión se establece con éxito y aparece la consola PS del host remoto.

Además de PSRemoting, puede usar Invoke-Command para ejecutar comandos y scripts en una computadora remota:

Invoke-Command -ComputerName wsk-w10b01 -ScriptBlock {ipconfig /all}

Si se establece la conexión de PSRemoting, verá el resultado de ipconfig en la pantalla.

También puede ejecutar un comando en un host remoto de la siguiente manera:

winrs -r: wsk-w10b01 dir

En algunos casos, es posible que vea el siguiente error al conectarse a través de PSSession:

Enter-PSSession : Connecting to remote server wsk-w10BO1 failed with the following error message : Access is denied.
CategoryInfo : InvalidArgument: (wsk-w10b01:String) [Enter-PSSession], PSRemotingTransportException FullyQualifiedErrorId : CreateRemoteRunspaceFailed

Compruebe los permisos de conexión actuales de WinRM:

Set-PSSessionConfiguration -ShowSecurityDescriptorUI -Name Microsoft.PowerShell

Asegúrese de que su cuenta sea miembro de la Administradores o Usuarios de gestión remota grupo (consulte cómo permitir la conexión de WinRm para usuarios que no son administradores) y que tienen Control total permisos Además, asegúrese de que no haya Deny normas.

Comprobar los permisos de WinRM

Puede configurar WinRM y PSRemoting en un entorno de grupo de trabajo (sin un dominio de Active Directory) de acuerdo con la siguiente guía.

Artículos Interesantes