Share via


Estado de sessão do Windows PowerShell

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

Da perspectiva do desenvolvedor, uma Windows PowerShell se refere ao tempo entre quando um aplicativo host abre um Windows PowerShell runspace e quando ele fecha o runspace. De outra forma, a sessão é o tempo de vida de uma instância do mecanismo Windows PowerShell que é invocado 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 de sessão global da sessão. No entanto, quando o elemento é executado, ele é executado dentro do estado de sessão do módulo.

Session-State dados

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

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

  • Informações de caminho

  • Informações da unidade

  • Windows PowerShell do provedor

  • 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. Essas informações e essas referências são apenas para o estado de sessão global.

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

Acessando Session-State dados 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 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? Displayproperty=Fullname

Cmdlets do Windows PowerShell

Writing a Windows PowerShell Cmdlet (Escrevendo um Cmdlet do Windows PowerShell)

SDK do Shell do Windows PowerShell