Partilhar via


Estado da Sessão do Windows PowerShell

Estado da sessão refere-se à configuração atual de uma sessão ou módulo do Windows PowerShell. Uma sessão do Windows PowerShell é o ambiente operacional usado interativamente pelo usuário da linha de comando ou programaticamente por um aplicativo host. O estado da sessão de uma sessão é conhecido como o estado da sessão global.

Do ponto de vista do desenvolvedor, uma sessão do Windows PowerShell refere-se ao tempo entre quando um aplicativo host abre um espaço de execução do Windows PowerShell e quando fecha o espaço de execução. Visto de outra forma, a sessão é o tempo de vida de uma instância do mecanismo do Windows PowerShell que é invocada enquanto o espaço de execução existe.

Estado da Sessão do Módulo

Os estados da sessão do módulo são criados sempre que o módulo ou um de seus módulos aninhados é importado para a sessão. Quando um módulo exporta um elemento como um cmdlet, função ou script, uma referência a esse elemento é adicionada ao estado da sessão global da sessão. No entanto, quando o elemento é executado, ele é executado dentro do estado de sessão do módulo.

Dados Session-State

Os dados do estado da sessão podem ser públicos ou privados. Os dados públicos estão disponíveis para chamadas de fora do estado da sessão, enquanto os dados privados estão disponíveis apenas para chamadas de dentro do estado da sessão. Por exemplo, um módulo pode ter uma função privada que pode ser chamada apenas pelo módulo ou apenas internamente por um elemento público que foi exportado. Isso é semelhante aos membros privados e públicos de um tipo .NET Framework.

Os dados de estado da sessão são armazenados pela instância atual do mecanismo de execução no contexto da sessão atual do Windows PowerShell. Os dados de estado da sessão consistem nos seguintes itens:

  • Informações sobre o caminho

  • Informações da unidade

  • Informações do provedor do Windows PowerShell

  • Informações sobre os módulos importados e referências aos elementos do módulo (como cmdlets, funções e scripts) que são exportados pelo módulo. Estas informações e estas referências referem-se apenas ao estado da sessão global.

  • Informações da variável de estado da sessão

Acessando dados de Session-State em cmdlets

Os cmdlets podem acessar dados de estado de sessão indiretamente por meio da propriedade System.Management.Automation.PSCmdlet.SessionState* da classe de cmdlet ou diretamente por meio da classe System.Management.Automation.SessionState. A classe System.Management.Automation.SessionState do fornece propriedades que podem ser usadas para investigar diferentes tipos de dados de estado de sessão.

Ver também

System.Management.Automation.PSCmdlet.SessionState

System.Management.Automation.SessionState

Cmdlets do Windows PowerShell

Escrevendo um cmdlet do Windows PowerShell

SDK do Shell do Windows PowerShell