Schließt eine oder mehrere Windows PowerShell-Sitzungen (PSSessions).
Syntax
Remove-PSSession [[-ComputerName] <string[]>] [-Bestätigung] [-WhatIf] [<CommonParameters>] Remove-PSSession [-Id] <Int32[]> [-Bestätigung] [-WhatIf] [<CommonParameters>] Remove-PSSession [-InstanceId <Guid[]>] [-Bestätigung] [-WhatIf] [<CommonParameters>] Remove-PSSession [-Name <string[]>] [-Bestätigung] [-WhatIf] [<CommonParameters>] Remove-PSSession [-Session] <PSSession[]> [-Bestätigung] [-WhatIf] [<CommonParameters>]
Beschreibung
Mit dem Cmdlet "Remove-PSSession" werden Windows PowerShell-Sitzungen (PSSessions) in der aktuellen Sitzung geschlossen. Die Ausführung aller Befehle in den PSSessions wird angehalten, die PSSession wird beendet, und die von PSSession verwendeten Ressourcen werden freigegeben. Wenn die PSSession mit einem Remotecomputer verbunden ist, wird von Remove-PSSession auch die Verbindung zwischen den lokalen Computern und den Remotecomputern geschlossen.
Um eine PSSession zu entfernen, geben Sie "Name", "ComputerName", "ID" oder "InstanceID" der Sitzung ein.
Wenn Sie die PSSession in einer Variablen gespeichert haben, bleibt das Sitzungsobjekt in der Variablen, die PSSession weist dann jedoch den Status "Closed" auf.
Parameter
-ComputerName <string[]>
Schließt die PSSessions, die mit den angegebenen Computern verbunden sind. Platzhalter sind zulässig.
Geben Sie den NetBIOS-Namen, eine IP-Adresse oder den vollqualifizierten Domänennamen mindestens eines Remotecomputers ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen, "localhost" oder einen Punkt (.) ein.
Erforderlich? |
false |
Position? |
1 |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByPropertyName) |
Platzhalterzeichen akzeptieren? |
true |
-Id <Int32[]>
Schließt die PSSessions mit den angegebenen IDs. Geben Sie eine oder mehrere IDs (durch Kommas getrennt) ein, oder geben Sie einen ID-Bereich mit dem Bereichsoperator (..) an.
Eine ID ist eine ganze Zahl, die die PSSession in der aktuellen Sitzung eindeutig identifiziert. Sie lässt sich leichter merken und eingeben als die InstanceId, ist jedoch nur in der aktuellen Sitzung eindeutig. Um die ID einer PSSession zu suchen, geben Sie Get-PSSession ohne Parameter ein.
Erforderlich? |
true |
Position? |
1 |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-InstanceId <Guid[]>
Schließt die PSSessions mit den angegebenen Instanz-IDs.
Die Instanz-ID ist ein GUID, mit dem eine PSSession in der aktuellen Sitzung eindeutig identifiziert wird. Der InstanceID ist auch bei mehreren Sitzungen eindeutig, die auf einem Computer ausgeführt werden.
Die InstanceID wird in der InstanceID-Eigenschaft des Objekts gespeichert, das eine PSSession darstellt. Geben Sie "Get-PSSession | Format-Table Name, ComputerName, InstanceId" ein, um die InstanceID der PSSessions in der aktuellen Sitzung zu suchen.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-Name <string[]>
Schließt die PSSessions mit den angegebenen Anzeigenamen. Platzhalter sind zulässig.
Da der Anzeigename einer PSSession möglicherweise nicht eindeutig ist, sollten Sie bei Verwendung des Name-Parameters erwägen, auch den WhatIf-Parameter oder den Confirm-Parameter im Befehl "Remove-PSSession" zu verwenden.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByPropertyName) |
Platzhalterzeichen akzeptieren? |
true |
-Session <PSSession[]>
Gibt die Sitzungsobjekte der PSSessions an, die geschlossen werden sollen. Geben Sie eine Variable ein, die die PSSessions enthält, oder einen Befehl, mit dem die PSSessions erstellt oder abgerufen werden, z. B. den Befehl "New-PSSession" oder den Befehl "Get-PSSession". Sie können auch eines oder mehrere Sitzungsobjekte über die Pipeline an Remove-PSSession übergeben.
Erforderlich? |
true |
Position? |
1 |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByValue, ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-Bestätigung
Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-WhatIf
Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
<CommonParameters>
Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.
Eingaben und Ausgaben
Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.
Eingaben |
System.Management.Automation.Runspaces.PSSession Sie können ein Sitzungsobjekt über die Pipeline an Remove-PSSession übergeben. |
Ausgaben |
None Remove-PSSession gibt keine Objekte zurück. |
Hinweise
Der ID-Parameter ist erforderlich. "remove-pssession" kann nicht ohne Parameter eingegeben werden. Geben Sie "Get-PSSession | remove-pssession" ein, um alle PSSessions in der aktuellen Sitzung zu löschen.
PSSessions verwenden eine dauerhafte Verbindung mit Remotecomputern. Erstellen Sie eine PSSession, um eine Reihe von Befehlen mit gemeinsamen Daten auszuführen. Weitere Informationen finden Sie unter "about_PSSessions".
PSSessions sind spezifisch für die aktuelle Sitzung. Wenn Sie eine Sitzung beenden, wird das Schließen von PSSessions erzwungen, die in der Sitzung erstellt wurden.
Beispiel 1
C:\PS>remove-pssession -id 1, 2 Beschreibung ----------- Mit diesem Befehl werden die PSSessions, die über die IDs 1 und 2 verfügen, entfernt.
Beispiel 2
C:\PS>get-pssession | remove-pssession C:\PS> remove-pssession -session (get-pssession) C:\PS> $s = get-pssession C:\PS> remove-pssession -session $s". Beschreibung ----------- Mit diesen Befehlen werden alle PSSessions in der aktuellen Sitzung entfernt. Obwohl sich die drei Befehlsformate unterscheiden, führen sie zum selben Ergebnis.
Beispiel 3
C:\PS>$r = get-pssession -computername Serv* $r | remove-pssession Beschreibung ----------- Mit diesen Befehlen werden die PSSessions geschlossen, die mit einem Computer verbunden sind, dessen Name mit "Serv" beginnt.
Beispiel 4
C:\PS>get-pssession | where {$_.port -eq 90} | remove-pssession Beschreibung ----------- Dieser Befehl schließt die mit dem Port 90 verbundenen PSSessions. Sie können PSSessions mithilfe dieses Befehlsformats anhand anderer Eigenschaften als "ComputerName", "Name", "InstanceID" und "ID" identifizieren.
Beispiel 5
C:\PS>get-pssession | ft computername, instanceID -auto ComputerName InstanceId ------------ ---------------- Server01 875d231b-2788-4f36-9f67-2e50d63bb82a localhost c065ffa0-02c4-406e-84a3-dacb0d677868 Server02 4699cdbc-61d5-4e0d-b916-84f82ebede1f Server03 4e5a3245-4c63-43e4-88d0-a7798bfc2414 TX-TEST-01 fc4e9dfa-f246-452d-9fa3-1adbdd64ae85 C:\PS> remove-pssession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85 Beschreibung ----------- Diese Befehle zeigen an, wie eine PSSession anhand der Instanz-ID (RemoteRunspaceID) geschlossen wird. Im ersten Befehl werden mit dem Cmdlet "Get-PSsession" die PSSessions in der aktuellen Sitzung abgerufen. Die PSSessions werden mit einem Pipelineoperator (|) an das Cmdlet "Format-Table" (alias: ft) gesendet, wodurch die ComputerName-Eigenschaft und die InstanceID-Eigenschaft in einer Tabelle formatiert werden. Mit dem AutoSize-Parameter ("auto") werden die Spalten für die Anzeige komprimiert. Anhand der Anzeige können Administratoren die PSSession identifizieren, die geschlossen werden soll, und die InstanceID dieser PSSession kopieren und in den zweiten Befehl einfügen. Im zweiten Befehl wird mit dem Cmdlet "Remove-PSSession" die PSSession mit der angegebenen Instanz-ID entfernt.
Beispiel 6
C:\PS>function EndPSS { get-pssession | remove-pssession } Beschreibung ----------- Mit dieser Funktion werden alle PSSessions in der aktuellen Sitzung gelöscht. Geben Sie einfach "endpss" ein, nachdem Sie diese Funktion Ihrem Windows PowerShell-Profil hinzugefügt haben, um alle Sitzungen zu löschen.
Siehe auch