about_Remote_Requirements

Se aplica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0

TEMA

about_Remote_Requirements

DESCRIPCIÓN BREVE

Describe los requisitos del sistema y los requisitos de configuración para ejecutar comandos remotos en Windows PowerShell®.

DESCRIPCIÓN LARGA

En este tema, se describen los requisitos del sistema, los requisitos del usuario y los requisitos de los recursos para establecer conexiones remotas y ejecutar comandos remotos en Windows PowerShell. También se proporcionan instrucciones para configurar operaciones remotas.

Nota: Muchos cmdlets (como Get-Service, Get-Process, Get-WMIObject, Get-EventLog y Get-WinEvent) obtienen objetos de equipos remotos usando métodos de Microsoft .NET Framework para recuperar los objetos. No emplean la infraestructura de comunicación remota de Windows PowerShell. Los requisitos de este documento no se aplican a estos cmdlets. Para buscar los cmdlets que tienen un parámetro ComputerName pero que no usan la comunicación remota de Windows PowerShell, lea la descripción del parámetro ComputerName de los cmdlets.

REQUISITOS DEL SISTEMA

Para ejecutar sesiones remotas en Windows PowerShell 3.0, los equipos locales y remotos deben tener lo siguiente:

  • -- Windows PowerShell 3.0 o posterior

  • --Microsoft .NET Framework 4.0 o posterior

  • -- Administración remota de Windows 3.0

Para ejecutar sesiones remotas en Windows PowerShell 2.0, los equipos locales y remotos deben tener lo siguiente:

  • -- Windows PowerShell 2.0 o posterior

  • -- Microsoft .NET Framework 2.0 o posterior

  • -- Administración remota de Windows 2.0

Puede crear sesiones remotas entre equipos que ejecutan Windows PowerShell 2.0 y Windows PowerShell 3.0. Sin embargo, las características que solo se ejecutan en Windows PowerShell 3.0, como la capacidad de desconectarse y volver a conectarse a las sesiones, solo están disponibles si ambos equipos ejecutan Windows PowerShell 3.0.

Para buscar el número de versión de una versión instalada de Windows PowerShell, use la variable automática $PSVersionTable.

Administración remota de Windows (WinRM) 3.0 y Microsoft .NET Framework 4.0 se incluyen en Windows 8, Windows Server 2012 y en las versiones más recientes del sistema operativo Windows. WinRM 3.0 se incluye en Windows Management Framework 3.0 para los sistemas operativos anteriores. Si el equipo no tiene la versión necesaria de WinRM o Microsoft .NET Framework, se produce un error en la instalación.

PERMISOS DE USUARIO

Para crear sesiones remotas y ejecutar comandos remotos, de forma predeterminada, el usuario actual debe ser miembro del grupo Administradores en el equipo remoto o bien debe proporcionar las credenciales de un administrador. De lo contrario, se produce un error en el comando.

Los permisos necesarios para crear sesiones y ejecutar comandos en un equipo remoto (o en una sesión remota del equipo local) se establecen mediante la configuración de sesión (también conocida como "extremo") en el equipo remoto al que se conecta la sesión. En concreto, el descriptor de seguridad de la configuración de sesión determina quién tiene acceso a la configuración de sesión y quién puede usarla para conectarse.

Los descriptores de seguridad de las configuraciones de sesión predeterminadas, Microsoft.PowerShell, Microsoft.PowerShell32 y Microsoft.PowerShell.Workflow, permiten el acceso únicamente a los miembros del grupo Administradores.

Si el usuario actual no tiene permiso para usar la configuración de sesión, se produce un error en el comando que ejecuta un comando (que usa una sesión temporal) o que crea una sesión persistente en el equipo remoto. El usuario puede usar el parámetro ConfigurationName de los cmdlets que crean sesiones para seleccionar otra configuración de sesión, en caso de haberla.

Los miembros del grupo Administradores de un equipo pueden determinar quién tiene permiso para conectarse de forma remota al equipo cambiando los descriptores de seguridad en las configuraciones de sesión predeterminadas y creando nuevas configuraciones de sesión con distintos descriptores de seguridad.

Para más información sobre las configuraciones de sesión, consulte about_Session_Configurations (https://go.microsoft.com/fwlink/?LinkID=145152).

UBICACIONES DE LAS REDES DE WINDOWS

A partir de Windows PowerShell 3.0, el cmdlet Enable-PSRemoting puede habilitar la comunicación remota en las versiones de cliente y de servidor de Windows en las redes privadas, públicas y de dominio.

En las versiones de servidor de Windows con redes privadas y redes de dominio, el cmdlet Enable-PSRemoting crea reglas de firewall que permiten el acceso remoto sin restricciones. También crea una regla de firewall para las redes públicas que permite el acceso remoto solo desde los equipos que estén en la misma subred local. Esta regla de firewall de la subred local está habilitada de forma predeterminada en las versiones de servidor de Windows en las redes públicas, pero Enable-PSRemoting vuelve a aplicar la regla en el caso de que se haya cambiado o eliminado.

En las versiones de cliente de Windows con redes privadas y de dominio, el cmdlet Enable-PSRemoting crea de forma predeterminada reglas de firewall que permiten el acceso remoto sin restricciones.

Para habilitar la comunicación remota en las versiones de cliente de Windows con redes públicas, use el parámetro SkipNetworkProfileCheck del cmdlet Enable-PSRemoting. Crea una regla de firewall que permite el acceso remoto únicamente desde los equipos que estén en la misma subred local.

Para quitar la restricción de la subred local en las redes públicas y permitir el acceso remoto desde todas las ubicaciones en las versiones de cliente y de servidor de Windows, use el cmdlet Set-NetFirewallRule en el módulo NetSecurity. Ejecute el siguiente comando:

        Set-NetFirewallRule –Name "WINRM-HTTP-In-TCP-PUBLIC" –RemoteAddress Any   

En Windows PowerShell 2.0, en las versiones de servidor de Windows, Enable-PSRemoting crea reglas de firewall que permiten el acceso remoto en todas las redes.

En Windows PowerShell 2.0, en las versiones de cliente de Windows, Enable-PSRemoting crea reglas de firewall únicamente en las redes privadas y en las redes de dominio. Si la ubicación de la red es pública, se produce un error en Enable-PSRemoting.

EJECUTAR COMO ADMINISTRADOR

Se necesitan privilegios de administrador para efectuar las siguientes operaciones de comunicación remota:

  • -- Establecer una conexión remota con el equipo local. Esto se denomina normalmente escenario de "bucle invertido".

  • -- Administrar las configuraciones de sesión en el equipo local.

  • -- Ver y cambiar la configuración de WS-Management en el equipo local. Esta es la configuración en el nodo LocalHost de WSMAN: unidad de disco.

Para llevar a cabo estas tareas, debe iniciar Windows PowerShell con la opción "Ejecutar como administrador" aunque sea miembro del grupo Administradores en el equipo local.

En Windows 7 y Windows Server 2008 R2, para iniciar Windows PowerShell con la opción "Ejecutar como administrador":

  • 1. Haga clic en Inicio, Todos los programas, Accesorios y en la carpeta de Windows PowerShell.

  • 2. Haga clic con el botón derecho en Windows PowerShell y, luego, haga clic en "Ejecutar como administrador".

Para iniciar Windows PowerShell con la opción "Ejecutar como administrador":

  • 1. Haga clic en Inicio, Todos los programas y en la carpeta de Windows PowerShell.

  • 2. Haga clic con el botón secundario en Windows PowerShell y, luego, haga clic en "Ejecutar como administrador".

La opción "Ejecutar como administrador" también está disponible en otras entradas del Explorador de Windows de Windows PowerShell, como los accesos directos. Solo tiene que hacer clic con el botón secundario en el elemento y hacer clic en "Ejecutar como administrador".

Al iniciar Windows PowerShell desde otro programa, como Cmd.exe, use la opción "Ejecutar como administrador" para iniciar el programa.

CÓMO CONFIGURAR EL EQUIPO PARA LA COMUNICACIÓN REMOTA

Los equipos que ejecutan todas las versiones compatibles de Windows pueden establecer conexiones remotas y ejecutar comandos remotos en Windows PowerShell sin ninguna configuración. Sin embargo, para recibir conexiones, permitir que los usuarios creen sesiones locales y remotas de Windows PowerShell administradas por el usuario ("PSSessions") y ejecutar comandos en el equipo local, debe habilitar la comunicación remota de Windows PowerShell en el equipo.

Windows Server 2012 y las versiones más recientes de Windows Server están habilitadas de forma predeterminada para la comunicación remota de Windows PowerShell. Si cambia la configuración, puede restaurar la configuración predeterminada ejecutando el cmdlet Enable-PSRemoting.

En el resto de las versiones compatibles de Windows, debe ejecutar el cmdlet Enable-PSRemoting para habilitar la comunicación remota de Windows PowerShell.

Las características de comunicación remota de Windows PowerShell son compatibles con el servicio WinRM, que es la implementación de Microsoft del protocolo WS-Management (Web Services for Management). Al habilitar la comunicación remota de Windows PowerShell, cambia la configuración predeterminada de WS-Management y agrega una configuración del sistema que permite que los usuarios se conecten a WS-Management.

Para configurar Windows PowerShell para recibir comandos remotos:

  • 1. Inicie Windows PowerShell con la opción "Ejecutar como administrador".

  • 2. En el símbolo del sistema, escriba: Enable-PSRemoting

Para comprobar que la comunicación remota está configurada correctamente, ejecute un comando de prueba como el siguiente, que crea una sesión remota en el equipo local.

          New-PSSession

Si la comunicación remota está configurada correctamente, el comando creará una sesión en el equipo local y devolverá un objeto que representa la sesión. La salida debería parecerse a la siguiente salida de ejemplo:

          C:\PS> new-pssession

          Id Name        ComputerName    State    ConfigurationName
          -- ----        ------------    -----    -----
          1  Session1    localhost       Opened   Microsoft.PowerShell

Si se produce un error en el comando, consulte about_Remote_Troubleshooting para obtener ayuda.

COMPRENDER LAS DIRECTIVAS

Al trabajar de forma remota, se usan dos instancias de Windows PowerShell: una en el equipo local y otra en el equipo remoto. Por ello, el trabajo se ve afectado por las directivas de Windows y las directivas de Windows PowerShell en el equipo local y en el remoto.

En general, antes de conectarse y en el momento de establecer la conexión, las directivas del equipo local están en vigor. Al usar la conexión, las directivas del equipo remoto están en vigor.

VEA TAMBIÉN

about_Remote

about_Remote_Variables

about_PSSessions

Invoke-Command

Enter-PSSession

New-PSSession