Uso del motor de Windows PowerShell 2.0

Windows PowerShell está diseñado para ser compatible con versiones anteriores. Los cmdlets, proveedores, complementos, módulos y scripts escritos para Windows PowerShell 2.0 se ejecutan sin cambios en versiones posteriores de Windows PowerShell. Sin embargo, en Microsoft .NET Framework 4 se cambió la directiva de activación en tiempo de ejecución. Los programas host de Windows PowerShell escritos para Windows PowerShell 2.0 y compilados con Common Language Runtime (CLR) 2.0 no se pueden ejecutar sin modificaciones en las nuevas versiones de Windows PowerShell compiladas con CLR 4.0 (o posterior).

El motor de Windows PowerShell 2.0 está destinado a usarse solo cuando un programa host o un script existente no se puede ejecutar porque es incompatible con Windows PowerShell 5.1. Algunos ejemplos de ello son las versiones anteriores de Exchange o los módulos de SQL Server. Estos casos deben ser infrecuentes.

Muchos programas que requieren el motor de Windows PowerShell 2.0 lo inician automáticamente. Estas instrucciones se incluyen para las situaciones excepcionales en que necesite iniciar el motor de forma manual.

Problemas de desuso y seguridad

Windows PowerShell 2.0 quedó en desuso en agosto de 2017. Para obtener más información, consulte el anuncio en el blog de PowerShell.

En Windows PowerShell 2.0 faltan una cantidad significativa de las características de protección y seguridad agregadas en las versiones 3, 4 y 5. Recomendamos encarecidamente que los usuarios no usen esa versión si es posible. Para obtener más información, consulte Comparación de la seguridad de Shell y del lenguaje de scripting y PowerShell ♥ el Equipo Azul.

Instalar y habilitar los programas requeridos

Antes de iniciar el motor de Windows PowerShell 2.0, habilite el motor de Windows PowerShell 2.0 y Microsoft .NET Framework 3.5 con Service Pack 1. Para obtener instrucciones, consulte Instalación de Windows PowerShell.

Los sistemas con Windows Management Framework 3.0 o posterior instalado tienen todos los componentes necesarios. No es necesario realizar ninguna otra configuración. Para obtener información acerca de cómo instalar Windows Management Framework, consulte Instalación y configuración de WMF.

Iniciar el motor de Windows PowerShell 2.0

Al iniciar Windows PowerShell, se inicia la versión más reciente de forma predeterminada. Para iniciar Windows PowerShell con el motor de Windows PowerShell 2.0, use el parámetro Version de PowerShell.exe. Puede ejecutar el comando en cualquier símbolo del sistema, incluidos Windows PowerShell y Cmd.exe.

PowerShell.exe -Version 2

Iniciar una sesión remota con el motor de Windows PowerShell 2.0

Para ejecutar el motor de Windows PowerShell 2.0 en una sesión remota, cree una configuración de sesión (también conocida como punto de conexión) en el equipo remoto que carga el motor de Windows PowerShell 2.0. La configuración de sesión se guarda en el equipo remoto y puede usarla cualquier usuario autorizado para crear sesiones que usen el motor de Windows PowerShell 2.0.

Se trata de una tarea avanzada que suele realizarla un administrador del sistema.

El siguiente procedimiento usa el parámetro PSVersion del cmdlet Register-PSSessionConfiguration para crear una configuración de sesión que use el motor de Windows PowerShell 2.0. También puede usar el parámetro PowerShellVersion del cmdlet New-PSSessionConfigurationFile para crear un archivo de configuración de sesión para una sesión que cargue el motor de Windows PowerShell 2.0 y el parámetro PSVersion del cmdlet Set-PSSessionConfiguration para cambiar una configuración de sesión para que use el motor de Windows PowerShell 2.0.

Para obtener más información sobre los archivos de configuración de sesión, consulte about_Session_Configuration_Files. Para obtener información sobre las configuraciones de sesión, incluida la configuración y la seguridad, consulte about_Session_Configurations.

Iniciar una sesión de Windows PowerShell 2.0

  1. Para crear una configuración de sesión que requiera el motor de Windows PowerShell 2.0, use el parámetro PSVersion del cmdlet Register-PSSessionConfiguration con un valor de 2.0. Ejecute este comando en el equipo en el "lado servidor" o en el extremo receptor de la conexión.

    El siguiente comando de ejemplo crea la configuración de sesión PS2 en el equipo Server01. Para ejecutar este comando, inicie Windows PowerShell con la opción Ejecutar como administrador.

    Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0
    
  2. Para crear una sesión en el equipo Server01 que use la configuración de sesión PS2, use el parámetro ConfigurationName de los cmdlets que crean una sesión remota, como el cmdlet `New-PSSession.

    Cuando se inicia una sesión que usa la configuración de sesión, el motor de Windows PowerShell 2.0 se carga automáticamente en la sesión.

    El comando siguiente inicia una sesión en el equipo Server01 que usa la configuración de sesión PS2. El comando guarda la sesión en la variable $s.

    $s = New-PSSession -ComputerName Server01 -ConfigurationName PS2
    

Iniciar un trabajo en segundo plano con el motor de Windows PowerShell 2.0

Para iniciar un trabajo en segundo plano con el motor de Windows PowerShell 2.0, use el parámetro PSVersion del cmdlet Start-Job.

El comando siguiente inicia un trabajo en segundo plano con el motor de Windows PowerShell 2.0.

Start-Job {Get-Process} -PSVersion 2.0

Para obtener más información sobre los trabajos en segundo plano, vea about_Jobs.