For the complete documentation index, see llms.txt. This page is also available as Markdown.

Entornos

De forma predeterminada, la autenticación y la autorización se producen dentro del proceso Universal.Server.exe. Para ejecutarlas desde un proceso diferente, puede seleccionar un entorno estableciendo el parámetro -SecurityEnvironment de Set-PSUSetting en settings.ps1. Consulte Seguridad para obtener más información al respecto.

De forma predeterminada, la autenticación y la autorización se producen dentro del proceso Universal.Server.exe. Para ejecutarlas desde un proceso diferente, puede seleccionar un entorno estableciendo el parámetro -SecurityEnvironment de Set-PSUSetting en settings.ps1. Consulte Seguridad para obtener más información al respecto.

Los entornos de ejecución definen el runtime de PowerShell, los módulos, las variables y la configuración de ejecución que utilizan los scripts, las API, las aplicaciones, los trabajos de automatización y los procesos de seguridad. Gestiónelos en Manage > Environments > Environments o en environments.ps1.

Elija un tipo de entorno

Tipo
Uso

Integrado

Se ejecuta directamente en el proceso del servidor de PowerShell Universal.

PowerShell 7

Utiliza el host de PowerShell 7 incluido con PowerShell Universal.

PowerShell 7 (aislado)

Utiliza multi-pwsh para ejecutar una versión seleccionada de PowerShell 7, opcionalmente en un entorno virtual gestionado.

Windows PowerShell 5.1

Utiliza el runtime de Windows PowerShell instalado en el servidor.

Personalizado

Inicia el ejecutable y los argumentos que especifique.

Contenedor

Se ejecuta en la imagen de contenedor de Devolutions Agent configurada.

Todos los entornos pueden definir módulos, variables de PowerShell, entradas de PSModulePath, scripts de inicio y configuración avanzada de runspace. Seleccione un entorno por su nombre al configurar un script, una programación, una API, una aplicación, un terminal o un entorno de seguridad.

Configurar recursos

Utilice la pestaña Resources al editar un entorno para configurar estos ajustes:

  • Modules: nombres de módulos o rutas de ficheros de módulo que PowerShell Universal importa cuando crea runspaces.

  • Variables: nombres de las variables de PowerShell Universal que se pondrán a disposición. Utilice * para incluir todas las variables coincidentes.

  • PSModulePath: rutas de búsqueda de módulos adicionales para el entorno.

  • Startup scripts: scripts relativos al repositorio que se ejecutan cuando se crea un nuevo runspace.

Los scripts de inicio se ejecutan una vez por cada nuevo runspace. Se ejecutan una vez cuando se inicia un trabajo, pero pueden ejecutarse con más frecuencia en las API y las aplicaciones a medida que se crean sus runspaces. Las variables de la plataforma no están disponibles en los scripts de inicio.

Entornos aislados de PowerShell 7

Un entorno aislado utiliza multi-pwsh en lugar del host de PowerShell incluido con PowerShell Universal. Elija este tipo cuando un script necesite una versión específica de PowerShell 7 o un mayor aislamiento del proceso respecto al SDK de PowerShell del servidor y a los ensamblados cargados.

Todo entorno aislado debe tener una PowerShell version. PowerShell Universal rechaza un entorno aislado que no especifique ninguna.

Instalar y seleccionar versiones de PowerShell

  1. Vaya a Manage > Environments > PowerShell Versions.

  2. Introduzca un selector de multi-pwsh como stable, preview, lts o 7.4 y, a continuación, seleccione Install.

  3. Actualice la lista de versiones. Muestra cada versión, su ruta, su ámbito y si está disponible para entornos aislados.

  4. Cree o edite un entorno, seleccione PowerShell 7 (Isolated) y elija una versión aislada instalada.

Solo las versiones marcadas como Isolated se pueden seleccionar para entornos aislados. Puede eliminar las versiones instaladas con multi-pwsh desde la misma pestaña cuando ya no sean necesarias.

Cree un entorno aislado en la configuración con una versión concreta o un selector de multi-pwsh:

Entornos virtuales gestionados

Active Virtual en un entorno aislado para ejecutarlo en un entorno virtual gestionado de multi-pwsh. PowerShell Universal crea el entorno virtual antes de utilizarlo y lo selecciona cada vez que el entorno inicia un trabajo.

La identidad del entorno virtual gestionado se deriva del nombre del entorno, la versión de PowerShell, los módulos, PSModulePath y la configuración de los scripts de inicio. Cambiar esos ajustes crea una nueva identidad gestionada. PowerShell Universal limpia los entornos virtuales gestionados a los que ya no hace referencia ningún entorno.

Utilice un entorno virtual cuando desee que el estado del runtime de multi-pwsh permanezca aislado de otros entornos. Los entornos de contenedor también utilizan un entorno virtual gestionado cuando Virtual está activado o cuando el entorno tiene módulos configurados.

Compatibilidad con Devolutions Agent

Cuando un trabajo se dirige a un Devolutions Agent conectado, PowerShell Universal utiliza el selector de versión de PowerShell del entorno con el ejecutable de multi-pwsh del agente. En el caso de un entorno aislado o de contenedor que utiliza un entorno virtual gestionado, el servidor exporta ese entorno virtual y el agente lo importa antes de que se inicie el trabajo.

Esta transferencia es automática y utiliza una URL de descarga autenticada y de corta duración. El agente reutiliza un entorno virtual coincidente que ya haya importado. Configure el mismo entorno de la forma habitual y, a continuación, elija el Devolutions Agent o el grupo de ordenadores en las opciones de ejecución o de programación.

Entornos mínimos de PowerShell 7

Active Minimal en un entorno de PowerShell 7 para ejecutar los trabajos en un subproceso de PowerShell dedicado mediante la comunicación remota local de PowerShell. Este modo evita cargar los ensamblados de hospedaje normales de PowerShell Universal en el proceso del script, lo que resulta útil para scripts y módulos que tienen conflictos de enlace de ensamblados con el servidor.

El modo mínimo está disponible para los entornos PowerShell 7, Windows PowerShell 5.1 y Personalizado. PowerShell Universal conserva la salida formateada del trabajo y la salida de la canalización de las ejecuciones mínimas de PowerShell 7, por lo que la salida sigue estando disponible en el registro del trabajo y en el historial de trabajos.

Los entornos mínimos siguen teniendo limitaciones importantes:

  • No admiten feedback, informes de progreso, secretos ni cmdlets integrados de Universal.

  • Los valores de variables no secretas configuradas se proporcionan como variables de entorno del proceso.

  • Utilice el entorno normal de PowerShell 7 cuando el script necesite la integración completa con el host de PowerShell Universal.

Para activarlo en la consola de administración, edite un entorno de PowerShell 7 y seleccione Minimal. En la configuración:

Un entorno mínimo Personalizado puede ejecutar otro ejecutable de línea de comandos. Utilice {scriptPath} en sus argumentos cuando el ejecutable deba recibir la ruta resuelta del script.

Entornos estándar

Integrado

El entorno Integrado ejecuta los scripts directamente en el proceso del servidor de PowerShell Universal. Evita la serialización entre procesos y es sencillo de configurar, pero no puede ejecutarse con credenciales alternativas ni utilizar otra versión de PowerShell. Como los scripts comparten el proceso del servidor, los scripts problemáticos pueden afectar a la estabilidad de la plataforma.

El entorno Integrado siempre está disponible. Aun así, puede configurar módulos o runspaces persistentes para él en environments.ps1:

PowerShell 7

El entorno estándar de PowerShell 7 utiliza el host de PowerShell incluido con PowerShell Universal. Es el valor predeterminado recomendado por su amplia compatibilidad con módulos de terceros. Si un script requiere Windows Forms u otra dependencia exclusiva de Windows PowerShell, utilice en su lugar Windows PowerShell 5.1 o un entorno Personalizado.

Windows PowerShell 5.1

Windows PowerShell 5.1 utiliza el runtime de Windows PowerShell instalado en el servidor. Utilícelo para scripts y módulos que requieran Windows PowerShell.

Utilizar entornos en PowerShell Universal

  • API: establezca -ApiEnvironment con Set-PSUSetting en settings.ps1.

  • Automatización: establezca -Environment para los scripts y las programaciones, o selecciónelo al iniciar un trabajo.

  • Aplicaciones: establezca -Environment con New-PSUApp.

  • Seguridad: establezca -SecurityEnvironment con Set-PSUSetting cuando la autenticación y la autorización deban ejecutarse fuera del proceso del servidor.

Compatibilidad con Windows PowerShell

PowerShell 7 puede utilizar automáticamente la comunicación remota local de Windows PowerShell cuando un comando o un módulo no está disponible. Esta función de compatibilidad crea un proceso de Windows PowerShell por cada runspace y puede aumentar considerablemente el número de procesos, el uso de memoria, el uso de CPU y la sobrecarga de serialización.

Desactive la compatibilidad implícita con Windows PowerShell en la pestaña Advanced del entorno cuando no sea necesaria. Está desactivada para el entorno Integrado y no se puede activar allí.

Si debe utilizar la compatibilidad, elimine la sesión de compatibilidad una vez que el comando haya finalizado:

Cmdlets de PowerShell

Gestione los entornos con New-PSUEnvironment, Get-PSUEnvironment, Set-PSUEnvironment y Remove-PSUEnvironment.

Última actualización

¿Te fue útil?