Compartir a través de


Acerca de los requisitos remotos

DESCRIPCIÓN BREVE

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

DESCRIPCIÓN LARGA

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

Nota: Muchos cmdlets (incluidos los cmdlets Get-Service, Get-Process, Get-WMIObject, Get-EventLog y Get-WinEvent cmdlets) obtienen objetos de equipos remotos mediante métodos de Microsoft .NET Framework para recuperar los objetos. No usan la infraestructura de comunicación remota de PowerShell. Los requisitos de este documento no se aplican a estos cmdlets.

Para buscar los cmdlets que tienen un parámetro ComputerName pero no usan Windows PowerShell comunicación remota, 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 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 desconectar y volver a conectarse a sesiones, solo están disponibles cuando ambos equipos ejecutan Windows PowerShell 3.0.

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

Windows Remote Management (WinRM) 3.0 y Microsoft .NET Framework 4 se incluyen en Windows 8, Windows Server 2012 y versiones más recientes del sistema operativo Windows. WinRM 3.0 se incluye en Windows Management Framework 3.0 para 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 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 en el equipo local) se establecen mediante la configuración de sesión (también conocida como "punto de conexión") 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 usarlo para conectarse.

Los descriptores de seguridad de las configuraciones de sesión predeterminadas, Microsoft.PowerShell, Microsoft.PowerShell32 y Microsoft.PowerShell.Workflow, solo permiten el acceso 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 para ejecutar un comando (que usa una sesión temporal) o crear una sesión persistente en el equipo remoto. El usuario puede usar el parámetro ConfigurationName de cmdlets que crean sesiones para seleccionar una configuración de sesión diferente, si hay alguna disponible.

Los miembros del grupo Administradores de un equipo pueden determinar quién tiene permiso para conectarse al equipo de forma remota 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 obtener más información sobre las configuraciones de sesión, consulte about_Session_Configurations.

UBICACIONES DE RED DE WINDOWS

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

En las versiones de servidor de Windows con redes privadas y 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 redes públicas que permite el acceso remoto solo desde equipos de la misma subred local. Esta regla de firewall de subred local está habilitada de forma predeterminada en las versiones de servidor de Windows en redes públicas, pero Enable-PSRemoting vuelve a aplicar la regla en 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 reglas de firewall que permiten el acceso remoto sin restricciones.

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

Para quitar la restricción de subred local en redes públicas y permitir el acceso remoto desde todas las ubicaciones de las versiones de cliente y 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 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 versiones de cliente de Windows, Enable-PSRemoting crea reglas de firewall solo en redes privadas y de dominio. Si la ubicación de red es pública, Enable-PSRemoting produce un error.

EJECUTAR COMO ADMINISTRADOR

Los privilegios de administrador son necesarios para las siguientes operaciones de comunicación remota:

  • Establecer una conexión remota al equipo local. Esto se conoce normalmente como un escenario de "bucle invertido".

  • Administración de configuraciones de sesión en el equipo local.

  • Ver y cambiar la configuración de WS-Management en el equipo local. Estos son los valores del nodo LocalHost de la unidad WSMAN: .

Para realizar estas tareas, debe iniciar PowerShell con la opción "Ejecutar como administrador", incluso si es miembro del grupo Administradores en el equipo local.

En Windows 7 y en 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, a continuación, en la carpeta Windows PowerShell.
  2. Haga clic con el botón derecho en Windows PowerShell y, a continuación, 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, a continuación, haga clic en la carpeta Windows PowerShell.
  2. Haga clic con el botón derecho en Windows PowerShell y, a continuación, haga clic en "Ejecutar como administrador".

La opción "Ejecutar como administrador" también está disponible en otras entradas del Explorador de Windows para Windows PowerShell, incluidos los accesos directos. Solo tiene que hacer clic con el botón derecho en el elemento y, a continuación, 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 PowerShell sin ninguna configuración. Sin embargo, para recibir conexiones y permitir a los usuarios crear sesiones de PowerShell locales y remotas administradas por el usuario ("PSSessions") y ejecutar comandos en el equipo local, debe habilitar la comunicación remota de PowerShell en el equipo.

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

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

Las características de comunicación remota de PowerShell son compatibles con el servicio WinRM, que es la implementación de Microsoft del protocolo Servicios web para administración (WS-Management). Al habilitar la comunicación remota de PowerShell, se cambia la configuración predeterminada de WS-Management y se agrega la configuración del sistema que permite a los usuarios conectarse a WS-Management.

Para configurar PowerShell para recibir comandos remotos:

  1. Inicie 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 debe ser similar a la siguiente salida de ejemplo:

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

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

DESCRIPCIÓN DE LAS DIRECTIVAS

Al trabajar de forma remota, se usan dos instancias de PowerShell, una en el equipo local y otra en el equipo remoto. Como resultado, el trabajo se ve afectado por las directivas de Windows y las directivas de PowerShell en los equipos locales y remotos.

En general, antes de conectarse y al establecer la conexión, las directivas del equipo local están en vigor. Cuando se usa la conexión, las directivas del equipo remoto están en vigor.

CONSULTE TAMBIÉN

about_Remote

about_Remote_Variables

about_PSSessions

Invoke-Command

Enter-PSSession

New-PSSession