Leer en inglés

Compartir a través de


Enable-PSRemoting

Configura el equipo para recibir comandos remotos.

Sintaxis

PowerShell
Enable-PSRemoting
      [-Force]
      [-SkipNetworkProfileCheck]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

El cmdlet Enable-PSRemoting configura el equipo para recibir comandos remotos de PowerShell que se envían mediante la tecnología WS-Management.

La comunicación remota de PowerShell está habilitada de forma predeterminada en Windows Server 2012 y versiones posteriores. Puede usar Enable-PSRemoting para habilitar la comunicación remota de PowerShell en otras versiones compatibles de Windows y volver a habilitar la comunicación remota si se deshabilita.

Debe ejecutar este comando solo una vez en cada equipo que reciba comandos. No es necesario ejecutarlo en equipos que solo envíen comandos. Dado que la configuración inicia agentes de escucha, es prudente ejecutarla solo cuando sea necesaria.

A partir de PowerShell 3.0, el cmdlet Enable-PSRemoting puede habilitar la comunicación remota de PowerShell en versiones de cliente de Windows cuando el equipo está en una red pública. Para obtener más información, consulte la descripción del parámetro SkipNetworkProfileCheck.

El cmdlet Enable-PSRemoting realiza las siguientes operaciones:

  • Ejecuta el cmdlet Set-WSManQuickConfig, que realiza las siguientes tareas:
    • Inicia el servicio WinRM.
    • Establece el tipo de inicio en el servicio WinRM en Automático.
    • Crea un agente de escucha para aceptar solicitudes en cualquier dirección IP.
    • Habilita una excepción de firewall para las comunicaciones de WS-Management.
    • Registra la de Microsoft.PowerShell y las configuraciones de sesión de Microsoft.PowerShell.Workflow, si aún no están registradas.
    • Registra la configuración de sesión de Microsoft.PowerShell32 en equipos de 64 bits, si aún no está registrado.
    • Habilita todas las configuraciones de sesión.
    • Cambia el descriptor de seguridad de todas las configuraciones de sesión para permitir el acceso remoto.
  • Reinicia el servicio WinRM para que los cambios anteriores sean efectivos.

Para ejecutar este cmdlet en la plataforma Windows, inicie PowerShell mediante la opción Ejecutar como administrador.

Para obtener más información sobre el uso de la comunicación remota de PowerShell, consulte los siguientes artículos:

Ejemplos

Ejemplo 1: Configurar un equipo para recibir comandos remotos

Este comando configura el equipo para recibir comandos remotos.

PowerShell
Enable-PSRemoting

Ejemplo 2: Configurar un equipo para recibir comandos remotos sin un mensaje de confirmación

Este comando configura el equipo para recibir comandos remotos. El parámetro Force suprime las solicitudes del usuario.

PowerShell
Enable-PSRemoting -Force

Ejemplo 3: Permitir el acceso remoto en clientes

En este ejemplo se muestra cómo permitir el acceso remoto desde redes públicas en versiones de cliente del sistema operativo Windows. El nombre de la regla de firewall puede ser diferente para diferentes versiones de Windows. Use Get-NetFirewallRule para ver una lista de reglas. Antes de habilitar la regla de firewall, vea la configuración de seguridad de la regla para comprobar que la configuración es adecuada para su entorno.

PowerShell
Get-NetFirewallRule -Name 'WINRM*' | Select-Object -Property Name

Name
----
WINRM-HTTP-In-TCP-NoScope
WINRM-HTTP-In-TCP
WINRM-HTTP-Compat-In-TCP-NoScope
WINRM-HTTP-Compat-In-TCP

Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any

De forma predeterminada, Enable-PSRemoting crea reglas de red que permiten el acceso remoto desde redes privadas y de dominio. El comando usa el parámetro SkipNetworkProfileCheck para permitir el acceso remoto desde redes públicas en la misma subred local. El comando especifica el parámetro Force para suprimir los mensajes de confirmación.

El parámetro SkipNetworkProfileCheck no afecta a las versiones del servidor del sistema operativo Windows, lo que permite el acceso remoto desde redes públicas en la misma subred local de forma predeterminada.

El cmdlet Set-NetFirewallRule del módulo de NetSecurity agrega una regla de firewall que permite el acceso remoto desde redes públicas desde cualquier ubicación remota. Esto incluye ubicaciones en diferentes subredes.

Nota

El nombre de la regla de firewall puede ser diferente en función de la versión de Windows. Use el cmdlet Get-NetFirewallRule para enumerar los nombres de las reglas del sistema.

Parámetros

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Force

Obliga a que el comando se ejecute sin pedir confirmación del usuario.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SkipNetworkProfileCheck

Indica que este cmdlet habilita la comunicación remota en las versiones de cliente del sistema operativo Windows cuando el equipo está en una red pública. Este parámetro habilita una regla de firewall para redes públicas que solo permite el acceso remoto desde equipos de la misma subred local.

Este parámetro no afecta a las versiones de servidor del sistema operativo Windows, que, de forma predeterminada, tienen una regla de firewall de subred local para redes públicas. Si la regla de firewall de subred local está deshabilitada en una versión del servidor, Enable-PSRemoting volver a habilitarla, independientemente del valor de este parámetro.

Para quitar la restricción de subred local y habilitar el acceso remoto desde todas las ubicaciones de las redes públicas, use el cmdlet Set-NetFirewallRule en el módulo NetSecurity.

Este parámetro se introdujo en PowerShell 3.0.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

String

Este cmdlet devuelve cadenas que describen sus resultados.

Notas

A partir de PowerShell 3.0, Enable-PSRemoting habilita todas las configuraciones de sesión estableciendo el valor de la propiedad Enabled de todas las configuraciones de sesión para $True.

  • En las versiones de servidor del sistema operativo Windows, Enable-PSRemoting crea reglas de firewall para redes privadas y de dominio que permiten el acceso remoto y crea una regla de firewall para redes públicas que solo permite el acceso remoto desde equipos de la misma subred local.

  • En las versiones de cliente del sistema operativo Windows, Enable-PSRemoting en PowerShell 3.0 crea reglas de firewall para redes privadas y de dominio que permiten el acceso remoto sin restricciones. Para crear una regla de firewall para redes públicas que permita el acceso remoto desde la misma subred local, use el parámetro SkipNetworkProfileCheck.

  • En las versiones de cliente o servidor del sistema operativo Windows, para crear una regla de firewall para redes públicas que quite la restricción de subred local y permita el acceso remoto, use el cmdlet Set-NetFirewallRule en el módulo NetSecurity para ejecutar el siguiente comando: Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Enable-PSRemoting habilita todas las configuraciones de sesión estableciendo el valor de la propiedad Enabled de todas las configuraciones de sesión en $True.

Enable-PSRemoting quita la configuración de Deny_All y Network_Deny_All. Esto proporciona acceso remoto a las configuraciones de sesión reservadas para uso local.