¿Puedo ejecutar el script PowerShell de la versión 4.0 en un servidor Windows con el script powershell versión 2.0?

1

¿Puedo ejecutar el script PowerShell de la versión 4.0 en un servidor Windows con el script powershell versión 2.0? He desarrollado una secuencia de comandos utilizando PowerShell versión 4.0 en el servidor local. Ahora quiero probar esta secuencia de comandos en el servidor de Windows de desarrollo instalado con PowerShell versión 2.0. ¿Puede este script de 4.0 funcionar en el servidor Dev con el script versión 2.0?

Shilpa
fuente

Respuestas:

1

Sí, siempre y cuando estés usando características, cmdlets, etc. que estuvieran disponibles en la versión 2.

Patrick Seymour
fuente
1

Sin saber qué cmdlets, funciones y operadores está utilizando, no podemos decirlo con seguridad.

Un archivo de script de PowerShell (* .ps1) intentará ejecutarse en cualquier versión de PowerShell. Si funciona o no depende de lo que se hace referencia dentro de él.

Aquí hay una lista de cosas introducidas en las versiones de PowerShell que no estaban presentes o funcionaron de manera diferente en versiones anteriores: https://technet.microsoft.com/en-gb/library/hh857339.aspx

Si hace referencia a algo en esta lista que no es compatible, tendrá que encontrar formas alternativas de hacer las cosas.

Fazer87
fuente
1

realmente puede ejecutar cualquier script de PowerShell en cualquier sistema que tenga instalado PowerShell, excepto si se cumple una de las dos condiciones siguientes:

  • Su ExecutionPolicy no está configurada correctamente y no puede ejecutar ninguna secuencia de comandos, por ejemplo, cuando está configurada en "AllSigned" y sus secuencias de comandos no están firmadas

  • El autor del guión establece un #requires declaración como #requires -version 4 entonces solo puede ejecutar el script en la versión específica o superior.

de lo contrario, debería ser posible ejecutar cualquier secuencia de comandos, pero si el autor de la secuencia de comandos usó cmdlets, parámetros o alias que no estaban disponibles en versiones anteriores, podría ser que la secuencia de comandos no haga lo que usted desea y arroje / escriba un error . es por eso que el autor siempre debe establecer una #requires declaración

SimonS
fuente