Freigeben über


Windows PowerShell-Sitzungsstatus

Der Sitzungsstatus bezieht sich auf die aktuelle Konfiguration einer Windows PowerShell-Sitzung oder eines Windows PowerShell-Moduls. Eine Windows PowerShell-Sitzung ist die Betriebsumgebung, die interaktiv vom Befehlszeilenbenutzer oder programmgesteuert von einer Hostanwendung verwendet wird. Der Sitzungsstatus für eine Sitzung wird als globaler Sitzungszustand bezeichnet.

Aus Entwicklerperspektive bezieht sich eine Windows PowerShell-Sitzung auf die Zeit zwischen dem Öffnen einer Windows PowerShell-Runspace und dem Schließen des Runspaces durch eine Hostanwendung. Die Sitzung ist auf eine andere Weise die Lebensdauer einer Instanz des Windows PowerShell-Moduls, die aufgerufen wird, während der Runspace vorhanden ist.

Modulsitzungsstatus

Modulsitzungszustände werden immer erstellt, wenn das Modul oder eines seiner geschachtelten Module in die Sitzung importiert wird. Wenn ein Modul ein Element wie ein Cmdlet, eine Funktion oder ein Skript exportiert, wird ein Verweis auf dieses Element zum globalen Sitzungsstatus der Sitzung hinzugefügt. Wenn das Element ausgeführt wird, wird es jedoch innerhalb des Sitzungszustands des Moduls ausgeführt.

Session-State Daten

Sitzungsstatusdaten können öffentlich oder privat sein. Öffentliche Daten sind für Anrufe außerhalb des Sitzungszustands verfügbar, während private Daten nur für Anrufe aus dem Sitzungszustand verfügbar sind. Ein Modul kann z. B. eine private Funktion aufweisen, die nur vom Modul oder nur intern von einem öffentlichen Element aufgerufen werden kann, das exportiert wurde. Dies ähnelt den privaten und öffentlichen Membern eines .NET Framework-Typs.

Sitzungsstatusdaten werden von der aktuellen Instanz des Ausführungsmoduls im Kontext der aktuellen Windows PowerShell-Sitzung gespeichert. Sitzungsstatusdaten bestehen aus den folgenden Elementen:

  • Pfadinformationen

  • Laufwerksinformationen

  • Windows PowerShell-Anbieterinformationen

  • Informationen zu den importierten Modulen und Verweisen auf die Modulelemente (z. B. Cmdlets, Funktionen und Skripts), die vom Modul exportiert werden. Diese Informationen und diese Verweise gelten nur für den globalen Sitzungszustand.

  • Informationen zur Variablen "Sitzungszustand"

Zugreifen auf Session-State Daten in Cmdlets

Cmdlets können indirekt über die System.Management.Automation.PSCmdlet.SessionState* Eigenschaft der Cmdlet-Klasse oder direkt über die System.Management.Automation.SessionState Klasse auf Sitzungsstatusdaten zugreifen. Die System.Management.Automation.SessionState Klasse stellt Eigenschaften bereit, mit denen verschiedene Typen von Sitzungsstatusdaten untersucht werden können.

Siehe auch

System.Management.Automation.PSCmdlet.SessionState

System.Management.Automation.SessionState

Windows PowerShell-Cmdlets

Schreiben eines Windows PowerShell-Cmdlets

Windows PowerShell Shell SDK-