Compartir a través de


Estado de sesión de Windows PowerShell

El estado de sesión hace referencia a la configuración actual de una sesión o módulo de Windows PowerShell. Una sesión de Windows PowerShell es el entorno operativo que usa interactivamente el usuario de la línea de comandos o mediante programación por una aplicación host. El estado de sesión de una sesión se conoce como estado de sesión global.

Desde la perspectiva del desarrollador, una sesión de Windows PowerShell hace referencia al tiempo entre el momento en que una aplicación host abre un espacio de ejecución de Windows PowerShell y cuando cierra el espacio de ejecución. Se examina de otra manera, la sesión es la duración de una instancia del motor de Windows PowerShell que se invoca mientras existe el espacio de ejecución.

Estado de sesión del módulo

Los estados de sesión del módulo se crean cada vez que el módulo o uno de sus módulos anidados se importan en la sesión. Cuando un módulo exporta un elemento como un cmdlet, una función o un script, se agrega una referencia a ese elemento al estado de sesión global de la sesión. Sin embargo, cuando se ejecuta el elemento, se ejecuta dentro del estado de sesión del módulo.

datos de Session-State

Los datos de estado de sesión pueden ser públicos o privados. Los datos públicos están disponibles para las llamadas desde fuera del estado de sesión, mientras que los datos privados solo están disponibles para las llamadas desde dentro del estado de sesión. Por ejemplo, un módulo puede tener una función privada a la que solo puede llamar el módulo o solo internamente por un elemento público que se haya exportado. Esto es similar a los miembros privados y públicos de un tipo de .NET Framework.

La instancia actual del motor de ejecución almacena los datos de estado de sesión en el contexto de la sesión actual de Windows PowerShell. Los datos de estado de sesión constan de los siguientes elementos:

  • Información de la ruta

  • Información de la unidad

  • Información del proveedor de Windows PowerShell

  • Información sobre los módulos importados y las referencias a los elementos del módulo (como cmdlets, funciones y scripts) que exporta el módulo. Esta información y estas referencias son solo para el estado de sesión global.

  • Información de variables de estado de sesión

Acceso a datos de Session-State dentro de cmdlets

Los cmdlets pueden tener acceso a datos de estado de sesión indirectamente a través de la propiedad System.Management.Automation.PSCmdlet.SessionState* de la clase de cmdlet o directamente a través de la clase System.Management.Automation.SessionState. La clase system.Management.Automation.SessionState proporciona propiedades que se pueden usar para investigar diferentes tipos de datos de estado de sesión.

Véase también

System.Management.Automation.PSCmdlet.SessionState

System.Management.Automation.SessionState

cmdlets de Windows PowerShell

escribir un cmdlet de Windows PowerShell

del SDK de Shell de Windows PowerShell