Dela via


Sessionstillstånd för Windows PowerShell

Sessionstillstånd refererar till den aktuella konfigurationen av en Windows PowerShell-session eller -modul. En Windows PowerShell-session är den driftsmiljö som används interaktivt av kommandoradsanvändaren eller programmatiskt av ett värdprogram. Sessionstillståndet för en session kallas för det globala sessionstillståndet.

Från ett utvecklarperspektiv refererar en Windows PowerShell-session till tiden mellan när ett värdprogram öppnar en Windows PowerShell-runspace och när den stänger körningsytan. Om du tittar på ett annat sätt är sessionen livslängden för en instans av Windows PowerShell-motorn som anropas medan körningsutrymmet finns.

Sessionstillstånd för modul

Modulsessionstillstånd skapas när modulen eller någon av dess kapslade moduler importeras till sessionen. När en modul exporterar ett element, till exempel en cmdlet, funktion eller skript, läggs en referens till det elementet till i sessionens globala sessionstillstånd. Men när elementet körs körs det i sessionstillståndet för modulen.

Session-State data

Sessionstillståndsdata kan vara offentliga eller privata. Offentliga data är tillgängliga för samtal utanför sessionstillståndet medan privata data endast är tillgängliga för anrop inifrån sessionstillståndet. En modul kan till exempel ha en privat funktion som bara kan anropas av modulen eller endast internt av ett offentligt element som har exporterats. Detta liknar privata och offentliga medlemmar av en .NET Framework-typ.

Sessionstillståndsdata lagras av den aktuella instansen av körningsmotorn inom ramen för den aktuella Windows PowerShell-sessionen. Sessionstillståndsdata består av följande objekt:

  • Sökvägsinformation

  • Enhetsinformation

  • Information om Windows PowerShell-provider

  • Information om importerade moduler och referenser till modulelementen (till exempel cmdletar, funktioner och skript) som exporteras av modulen. Den här informationen och dessa referenser gäller endast för det globala sessionstillståndet.

  • Information om sessionstillståndsvariabel

Komma åt Session-State data i cmdletar

Cmdletar kan komma åt sessionstillståndsdata antingen indirekt via System.Management.Automation.PSCmdlet.SessionState* egenskapen för cmdlet-klassen eller direkt via klassen System.Management.Automation.SessionState. Klassen System.Management.Automation.SessionState innehåller egenskaper som kan användas för att undersöka olika typer av sessionstillståndsdata.

Se även

System.Management.Automation.PSCmdlet.SessionState

System.Management.Automation.SessionState

Windows PowerShell-cmdletar

Skriva en Windows PowerShell-cmdlet

Windows PowerShell Shell SDK