Compartilhar via


Estado da sessão do Windows PowerShell

O 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 que é 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 runspace do Windows PowerShell e quando fecha o runspace. Olhando para outra maneira, a sessão é o tempo de vida de uma instância do mecanismo do Windows PowerShell que é invocada enquanto o runspace existe.

Estado da sessão do módulo

Os estados de 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 da sessão do módulo.

Dados do Session-State

Os dados de 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 somente 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 do .NET Framework.

Os dados de estado de 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 de sessão consistem nos seguintes itens:

  • Informações de caminho

  • Informações da unidade

  • Informações do provedor do Windows PowerShell

  • Informações sobre os módulos e referências importados para os elementos do módulo (como cmdlets, funções e scripts) que são exportados pelo módulo. Essas informações e essas referências são apenas para o estado da sessão global.

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

Acessando dados de Session-State dentro de cmdlets

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

Consulte Também

System.Management.Automation.PSCmdlet.SessionState

System.Management.Automation.SessionState

cmdlets do Windows PowerShell

gravando um cmdlet do Windows PowerShell

do SDK do Shell do Windows PowerShell