Uso del motor de Windows PowerShell 2.0Using the Windows PowerShell 2.0 Engine

Windows PowerShell está diseñado para ser compatible con versiones anteriores.Windows PowerShell is designed to be backward compatible with previous versions. Los cmdlets, proveedores, complementos, módulos y scripts escritos para Windows PowerShell 2.0 se ejecutan sin cambios en versiones posteriores de Windows PowerShell.Cmdlets, providers, snap-ins, modules, and scripts written for Windows PowerShell 2.0 run unchanged in newer versions Windows PowerShell. Sin embargo, en Microsoft .NET Framework 4 se cambió la directiva de activación en tiempo de ejecución.However, Microsoft .NET Framework 4 changed the runtime activation policy. 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).Windows PowerShell host programs written for Windows PowerShell 2.0 and compiled with Common Language Runtime (CLR) 2.0 cannot run without modification in new versions Windows PowerShell that are compiled with CLR 4.0 (or higher).

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.The Windows PowerShell 2.0 Engine is intended to be used only when an existing script or host program cannot run because it is incompatible with Windows PowerShell 5.1. Algunos ejemplos de ello son las versiones anteriores de Exchange o los módulos de SQL Server.Examples of this include older versions of Exchange or SQL Server modules. Estos casos deben ser infrecuentes.Such cases are expected to be rare.

Muchos programas que requieren el motor de Windows PowerShell 2.0 lo inician automáticamente.Many programs that require the Windows PowerShell 2.0 Engine start it automatically. Estas instrucciones se incluyen para las situaciones excepcionales en que necesite iniciar el motor de forma manual.These instructions are included for the rare situations in which you need to start the engine manually.

Problemas de desuso y seguridadDeprecation and security concerns

Windows PowerShell 2.0 quedó en desuso en agosto de 2017.Windows PowerShell 2.0 was deprecated in August, 2017. Para obtener más información, consulte el anuncio en el blog de PowerShell.For more information, see the announcement on the PowerShell blog.

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.Windows PowerShell 2.0 is missing a significant amount of the hardening and security features added in versions 3, 4, and 5. Recomendamos encarecidamente que los usuarios no usen esa versión si es posible.We highly, highly recommend that users not use it if they can help it. Para obtener más información, consulte Comparación de la seguridad de Shell y del lenguaje de scripting y PowerShell ♥ el Equipo Azul.For more information, see A Comparison of Shell and Scripting Language Security and PowerShell ♥ the Blue Team.

Instalar y habilitar los programas requeridosInstalling and Enabling Required Programs

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.Before starting the Windows PowerShell 2.0 Engine, enable the Windows PowerShell 2.0 Engine and Microsoft .NET Framework 3.5 with Service Pack 1. Para obtener instrucciones, consulte Instalación de Windows PowerShell.For instructions, see Installing Windows PowerShell.

Los sistemas con Windows Management Framework 3.0 o posterior instalado tienen todos los componentes necesarios.Systems on which Windows Management Framework 3.0 or higher is installed have all of the required components. No es necesario realizar ninguna otra configuración.No further configuration is necessary. Para obtener información acerca de cómo instalar Windows Management Framework, consulte Instalación y configuración de WMF.For information about installing Windows Management Framework, see Install and configure WMF.

Iniciar el motor de Windows PowerShell 2.0How to start the Windows PowerShell 2.0 Engine

Al iniciar Windows PowerShell, se inicia la versión más reciente de forma predeterminada.When you start Windows PowerShell the newest version starts by default. Para iniciar Windows PowerShell con el motor de Windows PowerShell 2.0, use el parámetro Version de PowerShell.exe.To start Windows PowerShell with the Windows PowerShell 2.0 Engine, use the Version parameter of PowerShell.exe. Puede ejecutar el comando en cualquier símbolo del sistema, incluidos Windows PowerShell y Cmd.exe.You can run the command at any command prompt, including Windows PowerShell and Cmd.exe.

PowerShell.exe -Version 2

Iniciar una sesión remota con el motor de Windows PowerShell 2.0How to start a remote session with the Windows PowerShell 2.0 Engine

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.To run the Windows PowerShell 2.0 Engine in a remote session, create a session configuration (also known as an endpoint ) on the remote computer that loads the Windows PowerShell 2.0 Engine. 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.The session configuration is saved on the remote computer and can be used by any authorized user to create sessions that use the Windows PowerShell 2.0 Engine.

Se trata de una tarea avanzada que suele realizarla un administrador del sistema.This is an advanced task that is typically performed by a system administrator.

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.The following procedure uses the PSVersion parameter of the Register-PSSessionConfiguration cmdlet to create a session configuration that uses the Windows PowerShell 2.0 Engine. 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.You can also use the PowerShellVersion parameter of the New-PSSessionConfigurationFile cmdlet to create a session configuration file for a session that loads the Windows PowerShell 2.0 Engine and you can use the PSVersion parameter of the Set-PSSessionConfiguration parameter to change a session configuration to use the Windows PowerShell 2.0 Engine.

Para obtener más información sobre los archivos de configuración de sesión, consulte about_Session_Configuration_Files.For more information about session configuration files, see 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.For information about session configurations, including setup and security, see about_Session_Configurations.

Iniciar una sesión de Windows PowerShell 2.0To start a remote Windows PowerShell 2.0 session

  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.To create a session configuration that requires the Windows PowerShell 2.0 Engine, use the PSVersion parameter of the Register-PSSessionConfiguration cmdlet with a value of 2.0. Ejecute este comando en el equipo en el "lado servidor" o en el extremo receptor de la conexión.Run this command on the computer at the "server side" or receiving end of the connection.

    El siguiente comando de ejemplo crea la configuración de sesión PS2 en el equipo Server01.The following sample command creates the PS2 session configuration on the Server01 computer. Para ejecutar este comando, inicie Windows PowerShell con la opción Ejecutar como administrador.To run this command, start Windows PowerShell with the Run as administrator option.

    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.To create a session on the Server01 computer that uses the PS2 session configuration, use the ConfigurationName parameter of cmdlets that create a remote session, such as the `New-PSSession cmdlet.

    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.When a session that uses the session configuration starts, the Windows PowerShell 2.0 Engine is automatically loaded into the session.

    El comando siguiente inicia una sesión en el equipo Server01 que usa la configuración de sesión PS2.The following command starts a session on the Server01 computer that uses the PS2 session configuration. El comando guarda la sesión en la variable $s.The command saves the session in the $s variable.

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

Iniciar un trabajo en segundo plano con el motor de Windows PowerShell 2.0How to start a background job with the Windows PowerShell 2.0 Engine

Para iniciar un trabajo en segundo plano con el motor de Windows PowerShell 2.0, use el parámetro PSVersion del cmdlet Start-Job.To start a background job with the Windows PowerShell 2.0 Engine, use the PSVersion parameter of the Start-Job cmdlet.

El comando siguiente inicia un trabajo en segundo plano con el motor de Windows PowerShell 2.0.The following command starts a background job with the Windows PowerShell 2.0 Engine

Start-Job {Get-Process} -PSVersion 2.0

Para obtener más información sobre los trabajos en segundo plano, vea about_Jobs.For more information about background jobs, see about_Jobs.