about_PSSession_Details

THEMA
    about_PSSession_Details

KURZBESCHREIBUNG
    Stellt ausführliche Informationen über Windows PowerShell- 
    Sitzungen und ihre Funktion in Remotebefehlen bereit.

DETAILBESCHREIBUNG
    Eine Sitzung ist eine Umgebung, in der Windows PowerShell 
    ausgeführt wird. Jedes Mal, wenn Sie Windows PowerShell starten, 
    wird eine Sitzung erstellt. Sie können auf Ihrem oder einem 
    anderen Computer weitere Sitzungen erstellen, die als "Windows 
    PowerShell-Sitzungen" oder "PSSessions" bezeichnet werden.

    Im Gegensatz zu den Sitzungen, die von Windows PowerShell 
    erstellt werden, können Sie die eigenen PSSessions steuern und 
    verwalten.

    PSSessions spielen eine wichtige Rolle im Hinblick auf 
    Remotecomputer. Wenn Sie eine PSSession erstellen, die mit einem 
    Remotecomputer verbunden ist, stellt Windows PowerShell eine dauerhafte 
    Verbindung mit dem Remotecomputer zur Unterstützung der PSSession 
    her. Mit der PSSession können Sie eine Reihe von Befehlen, 
    Funktionen und Skripts ausführen, die Daten gemeinsam verwenden. 

    Dieses Thema enthält ausführliche Informationen über Sitzungen 
    und PSSessions in Windows PowerShell. Grundlegende Informationen 
    über die Aufgaben, die Sie mit Sitzungen ausführen können, finden 
    Sie unter "about_PSSessions".  

 INFORMATIONEN ÜBER SITZUNGEN
    Technisch gesehen ist eine Sitzung eine Ausführungsumgebung für 
    Windows PowerShell. Jede Sitzung enthält eine Instanz des 
    System.Management.Automation-Moduls sowie ein Hostprogramm, in 
    dem Windows PowerShell ausgeführt wird. Als Host kann die 
    vertraute Windows PowerShell-Konsole oder ein anderes Programm 
    zum Ausführen von Befehlen wie "Cmd.exe" verwendet werden. Sie 
    können auch ein Programm wie Windows PowerShell Integrated 
    Scripting Environment (ISE) verwenden, das als Host für Windows 
    PowerShell vorgesehen ist. Aus der Sicht von Windows stellt eine 
    Sitzung einen Windows-Prozess auf dem Zielcomputer dar. 

    Alle Sitzungen werden unabhängig voneinander konfiguriert. Jede 
    Sitzung verfügt über eigene Eigenschaften, eine eigene 
    Ausführungsrichtlinie sowie über eigene Profile. Die Umgebung, die zum 
    Zeitpunkt des Erstellens der Sitzung vorhanden ist, bleibt über die 
    Lebensdauer hinweg erhalten, auch wenn Sie die Umgebung auf dem 
    Computer ändern. Alle Sitzungen werden in einem globalen Bereich 
    erstellt. Dies gilt auch für Sitzungen, die Sie in einem Skript 
    erstellen. 

    Sie können nur je einen Befehl (oder eine Befehlspipeline) in 
    einer Sitzung ausführen. Ein zweiter Befehl, der synchron (einzeln) 
    ausgeführt wird, wartet bis zu vier Minuten, bis der erste Befehl 
    abgeschlossen ist. Ein zweiter Befehl, der asynchron (gleichzeitig) 
    ausgeführt wird, führt zu einem Fehler.

 INFORMATIONEN ÜBER PSSESSIONS
    Eine Sitzung wird immer dann erstellt, wenn Sie Windows 
    PowerShell starten. Außerdem erstellt Windows PowerShell temporäre 
    Sitzungen, um einzelne Befehle auszuführen. Sie können jedoch auch 
    Sitzungen (als "Windows PowerShell-Sitzungen" oder "PSSessions" 
    bezeichnet) erstellen, die Sie steuern und verwalten können.
 
    PSSessions sind für Remotebefehle entscheidend. Wenn Sie den 
    ComputerName-Parameter des Cmdlets "Invoke-Command" oder des 
    Cmdlets "Enter-PSSession" verwenden, erstellt Windows PowerShell 
    eine temporäre Sitzung, um den Befehl auszuführen und schließt 
    die Sitzung, sobald der Befehl oder die interaktive Sitzung 
    vollständig ist. 

    Wenn Sie jedoch das Cmdlet "New-PSSession" verwenden, um eine 
    PSSession zu erstellen, erstellt Windows PowerShell eine 
    dauerhafte Sitzung auf dem Remotecomputer, in der mehrere Befehle 
    oder interaktive Sitzungen ausgeführt werden können. Die 
    PSSessions, die Sie erstellen, bleiben so lange geöffnet und 
    verfügbar, bis Sie sie löschen oder die Sitzung schließen, in der 
    sie erstellt wurden.

    Wenn Sie eine PSSession auf einem Remotecomputer erstellen, wird 
    ein PowerShell-Prozess vom System auf dem Remotecomputer erstellt 
    und es wird eine Verbindung vom lokalen Computer zum Prozess auf 
    dem Remotecomputer hergestellt. Wenn Sie eine PSSession auf dem 
    lokalen Computer erstellen, werden sowohl der neue Prozess als 
    auch die Verbindungen auf dem lokalen Computer erstellt.


 WANN SIND PSSESSIONS ERFORDERLICH?
    Die Cmdlets "Invoke-Command" und "Enter-PSSession" verfügen über 
    den ComputerName-Parameter und den Session-Parameter. Beide 
    Cmdlets können zur Ausführung eines Remotebefehls verwendet 
    werden.

    Mit dem ComputerName-Parameter können Sie einzelne Befehle oder 
    eine Reihe nicht verknüpfter Befehle auf einem oder mehreren 
    Computern ausführen. 

    Um Befehle mit gemeinsamen Daten auszuführen, ist eine dauerhafte 
    Verbindung zum Remotecomputer erforderlich. Erstellen Sie in 
    diesem Fall eine PSSession, und führen Sie Befehle in der 
    PSSession mit dem Session-Parameter aus.

    Viele andere Cmdlets, die Daten von Remotecomputern abrufen, wie 
    "Get-Process", "Get-Service", "Get-EventLog" und "Get-WmiObject" 
    verfügen nur über den ComputerName-Parameter. Sie erfassen 
    Remotedaten mit anderen Technologien als Windows PowerShell-
    Remoting. Diese Cmdlets verfügen nicht über einen Session-
    Parameter, Sie jedoch können das Cmdlet "Invoke-Command" 
    verwenden, um diese Befehle in einer PSSession auszuführen.
 

 WIE WERDEN PSSESSIONS ERSTELLT?
    Das Cmdlet "New-PSSession" ermöglicht das Erstellen einer 
    PSSession. Mit New-PSSession können Sie eine PSSession auf einem 
    lokalen Computer oder auf einem Remotecomputer erstellen.


 KÖNNEN PSSESSIONS AUF JEDEM COMPUTER ERSTELLT WERDEN? 
    Um eine PSSession zu erstellen, die mit einem Remotecomputer 
    verbunden wird, muss der Computer für Remoting in Windows PowerShell 
    konfiguriert werden. Der aktuelle Benutzer muss Mitglied der Gruppe 
    "Administratoren" auf dem Remotecomputer sein oder die Anmeldeinformat
    ionen eines Mitglieds in der Gruppe "Administratoren" angeben. 
    Weitere Informationen finden Sie unter "about_Remote_Requirements".


 KÖNNEN PSSESSIONS ANGEZEIGT WERDEN, DIE VON ANDEREN BENUTZERN AUF 
 DEM COMPUTER ERSTELLT WURDEN?
    Nein. Sie können nur die PSSessions abrufen und verwalten, die 
    Sie in der aktuellen Sitzung erstellt haben. PSSessions, die von 
    anderen Benutzern erstellt wurden, können nicht angezeigt werden. 
    Dies gilt auch, wenn Befehle auf dem lokalen Computer ausgeführt 
    werden.


 KÖNNEN HINTERGRUNDAUFTRÄGE IN EINER PSSESSION AUSGEFÜHRT WERDEN?
    Ja. Ein Hintergrundauftrag ist ein Befehl, der asynchron im 
    Hintergrund ohne Interaktion mit der aktuellen Sitzung ausgeführt 
    wird. Wenn Sie einen Befehl senden, um einen Auftrag zu starten, 
    gibt der Befehl ein Auftragsobjekt zurück; der Auftrag wird jedoch 
    weiterhin im Hintergrund ausgeführt, bis er abgeschlossen ist.

    Verwenden Sie den Befehl "Start-Job", um einen Hintergrundauftrag 
    auf dem lokalen Computer zu starten. Sie können den 
    Hintergrundauftrag in einer temporären Verbindung (mit dem 
    ComputerName-Parameter) oder in einer PSSession (mit dem 
    Session-Parameter) ausführen. 

    Mit dem Cmdlet "Invoke-Command" und dem AsJob-Parameter können 
    Sie einen Hintergrundauftrag auf einem Remotecomputer starten. 
    Sie können auch mit dem Cmdlet "Invoke-Command" einen 
    Start-Job-Befehl auf einem Remotecomputer ausführen. Wenn Sie den 
    AsJob-Parameter verwenden, können Sie den ComputerName-Parameter 
    oder den Session-Parameter verwenden.

    Wenn Sie einen Start-Job-Befehl mit Invoke-Command ausführen, 
    muss der Befehl in einer PSSession ausgeführt werden. Wenn Sie 
    den ComputerName-Parameter verwenden, beendet Windows PowerShell 
    die Verbindung, sobald das Auftragsobjekt zurückgegeben wird, und 
    der Auftrag wird unterbrochen.

    Weitere Informationen finden Sie unter "about_Jobs".


 IST DIE AUSFÜHRUNG VON INTERAKTIVEN SITZUNGEN MÖGLICH?
    Ja. Mit dem Cmdlet "Enter-PSSession" wird eine interaktive 
    Sitzung mit einem Remotecomputer gestartet. In einer interaktiven 
    Sitzung werden die eingegebenen Befehle auf dem Remotecomputer 
    ausgeführt, als ob diese direkt auf dem Remotecomputer eingegeben 
    würden. 

    Sie können eine interaktive Sitzung (mit dem ComputerName-Parameter) 
    in einer temporären Sitzung oder (mit dem Session-Parameter) 
    in einer PSSession ausführen. Wenn Sie eine PSSession verwenden, 
    werden die Daten aus vorherigen Befehlen sowie alle Daten, die im 
    Rahmen der interaktiven Sitzung generiert wurden, in der 
    PSSession zur Verwendung in späteren Befehlen beibehalten.

    Wenn Sie die interaktive Sitzung beenden, bleibt die PSSession 
    geöffnet und verfügbar.

    Weitere Informationen finden Sie unter Enter-PSSession und 
    Exit-PSSession.
 

 MÜSSEN DIE PSSESSIONS GELÖSCHT WERDEN?
    Ja. Eine PSSession ist ein Prozess, bei dem es sich um eine in 
    sich abgeschlossene Umgebung handelt, die Arbeitsspeicher und 
    andere Ressourcen verwendet, auch wenn sie nicht genutzt wird. 
    Löschen Sie die PSSession daher, wenn Sie sie nicht mehr benöti- 
    gen. Wenn Sie mehrere PSSessions erstellen, schließen Sie die 
    PSSessions, die Sie nicht benötigen, und behalten Sie nur die 
    gerade verwendeten Sitzungen bei. 

    Verwenden Sie zum Löschen von PSSessions das Cmdlet 
    "Remove-PSSession". Mit dem Cmdlet werden die PSSessions 
    gelöscht, und entsprechend verwendete Ressourcen werden freigegeben. 

    Sie können auch den TimeOut-Parameter von New-PSSession 
    verwenden, um eine PSSession im Leerlauf nach einem festgelegten 
    Intervall zu schließen. Weitere Informationen finden Sie unter 
    "New-PSSession".

    Wenn Sie die PSSession nicht löschen oder ein Timeout festlegen, 
    bleibt die PSSession geöffnet und verfügbar, bis Sie sie 
    schließen, die Sitzung schließen, in der sie erstellt wurde, oder 
    Windows PowerShell beenden. Wenn der Remotecomputer vier Minuten 
    lang nicht antwortet, wird die Verbindung mit der PSSession auf einem 
    Remotecomputer jedoch getrennt. (Der Remotecomputer ist so 
    konfiguriert, dass alle drei Minuten ein Taktpuls gesendet wird.)

    Wenn Sie ein PSSession-Objekt in einer Variablen speichern und 
    anschließend die PSSession löschen oder es zu einem Timeout 
    kommt, enthält die Variable weiterhin das PSSession-Objekt; die 
    PSSession ist jedoch nicht aktiv und kann nicht verwendet oder 
    repariert werden.
    

 SIND ALLE SITZUNGEN UND PSSESSIONS GLEICH?
    Nein. Entwickler können benutzerdefinierte Sitzungen erstellen, 
    die nur ausgewählte Anbieter und Cmdlets enthalten. Wenn ein 
    Befehl in einer Sitzung funktioniert, nicht jedoch in einer 
    anderen, ist die Sitzung möglicherweise eingeschränkt.


SIEHE AUCH
    about_Jobs
    about_PSSessions
    about_Remote 
    about_Remote_Requirements
    Invoke-Command
    New-PSSession 
    Get-PSSession 
    Remove-PSSession 
    Enter-PSSession 
    Exit-PSSession