Remove-PSSession
Schließt mindestens eine PowerShell-Sitzung (PSSessions).
Syntax
Remove-PSSession
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
[-Session] <PSSession[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
-ContainerId <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
-VMId <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
-VMName <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
-InstanceId <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
-Name <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
[-ComputerName] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das cmdlet Remove-PSSession
schließt PowerShell-Sitzungen (PSSessions) in der aktuellen Sitzung. Sie stoppt alle Befehle, die in der PSSessions-ausgeführt werden, beendet die PSSessionund gibt die Ressourcen frei, die die PSSession verwendet hat. Wenn die PSSession mit einem Remotecomputer verbunden ist, schließt dieses Cmdlet auch die Verbindung zwischen den lokalen und Remotecomputern.
Um eine PSSession-zu entfernen, geben Sie den Namen, ComputerName, IDoder InstanceID- der Sitzung ein.
Wenn Sie die PSSession- in einer Variablen gespeichert haben, bleibt das Sitzungsobjekt in der Variablen, aber der Zustand der PSSession- ist geschlossen.
Beispiele
Beispiel 1: Entfernen von Sitzungen nach ID
Remove-PSSession -Id 1, 2
Mit diesem Befehl werden die PSSessions- entfernt, die über IDs 1
und 2
verfügen.
Beispiel 2: Entfernen aller Sitzungen in der aktuellen Sitzung
Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s
Diese Befehle entfernen alle PSSessions- in der aktuellen Sitzung. Obwohl die drei Befehlsformate unterschiedlich aussehen, haben sie denselben Effekt.
Beispiel 3: Sitzungen nach Namen schließen
$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession
Diese Befehle schließen die PSSessions-, die mit Computern verbunden sind, die namen haben, die mit Serv
beginnen.
Beispiel 4: Schließen von Sitzungen, die mit einem Port verbunden sind
Get-PSSession | where {$_.port -eq 90} | Remove-PSSession
Dieser Befehl schließt die PSSessions-, die mit Port 90 verbunden sind. Mit diesem Befehlsformat können Sie PSSessions nach anderen Eigenschaften als ComputerName, Name, InstanceID-und ID-identifizieren.
Beispiel 5: Schließen einer Sitzung nach Instanz-ID
Get-PSSession | Format-Table ComputerName, InstanceID -AutoSize
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
Remove-PSSession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85
Diese Befehle zeigen, wie Sie eine PSSession- basierend auf ihrer Instanz-ID oder RemoteRunspaceID-schließen.
Der erste Befehl verwendet das cmdlet Get-PSSession
, um die PSSessions- in der aktuellen Sitzung abzurufen.
Es verwendet einen Pipelineoperator (|
), um die PSSessions- an das cmdlet Format-Table
zu senden, das ihre ComputerName- und InstanceID- Eigenschaften in einer Tabelle formatiert. Die AutoSize Parameter komprimiert die Spalten für die Anzeige.
Aus der resultierenden Anzeige können Sie die PSSession-, die geschlossen werden soll, identifizieren und die InstanceID- dieses PSSession- in den zweiten Befehl kopieren und einfügen.
Der zweite Befehl verwendet das cmdlet Remove-PSSession
, um die PSSession- mit der angegebenen Instanz-ID zu entfernen.
Beispiel 6: Erstellen einer Funktion, die alle Sitzungen in der aktuellen Sitzung löscht
Function EndPSS { Get-PSSession | Remove-PSSession }
Diese Funktion schließt alle PSSession- in der aktuellen Sitzung. Nachdem Sie diese Funktion ihrem PowerShell-Profil hinzugefügt haben, geben Sie EndPSS
ein, um alle Sitzungen zu löschen.
Parameter
-ComputerName
Gibt ein Array von Namen von Computern an. Dieses Cmdlet schließt die PSSessions-, die mit den angegebenen Computern verbunden sind. Wildcardzeichen sind zulässig.
Geben Sie den NetBIOS-Namen, eine IP-Adresse oder einen vollqualifizierten Domänennamen eines oder mehrerer Remotecomputer ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen, localhost
oder einen Punkt (.
) ein.
Typ: | String[] |
Aliase: | Cn |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | True |
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ContainerId
Gibt ein Array von IDs von Containern an. Mit diesem Cmdlet werden Sitzungen für jeden der angegebenen Container entfernt. Verwenden Sie den Befehl docker ps
, um eine Liste der Container-IDs abzurufen. Weitere Informationen finden Sie in der Hilfe zum Docker ps-Befehl.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Id
Gibt ein Array von IDs von Sitzungen an. Dieses Cmdlet schließt die PSSessions- mit den angegebenen IDs.
Geben Sie eine oder mehrere IDs ein, getrennt durch Kommas, oder verwenden Sie den Bereichsoperator (..
), um einen Bereich von IDs anzugeben.
Eine ID ist eine ganze Zahl, die die PSSession- in der aktuellen Sitzung eindeutig identifiziert. Es ist einfacher zu merken und einzugeben als die InstanceId-, aber sie ist nur in der aktuellen Sitzung eindeutig. Um die ID eines PSSession-zu finden, führen Sie das cmdlet Get-PSSession
ohne Parameter aus.
Typ: | Int32[] |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-InstanceId
Gibt ein Array von Instanz-IDs an. Dieses Cmdlet schließt die PSSessions- mit den angegebenen Instanz-IDs.
Die Instanz-ID ist eine GUID, die eine PSSession- in der aktuellen Sitzung eindeutig identifiziert. Die Instanz-ID ist eindeutig, auch wenn mehrere Sitzungen auf einem einzelnen Computer ausgeführt werden.
Die Instanz-ID wird in der InstanceID- eigenschaft des Objekts gespeichert, das eine PSSession-darstellt. Um die InstanceID- der PSSessions- in der aktuellen Sitzung zu finden, geben Sie Get-PSSession | Format-Table Name, ComputerName, InstanceId
ein.
Typ: | Guid[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Name
Gibt ein Array von Anzeigenamen von Sitzungen an. Dieses Cmdlet schließt die PSSessions- mit den angegebenen Anzeigenamen. Wildcardzeichen sind zulässig.
Da der Anzeigename eines PSSession- möglicherweise nicht eindeutig ist, sollten Sie bei Verwendung des parameters Name auch die verwendung der WhatIf oder Confirm Parameter im Befehl Remove-PSSession
verwenden.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | True |
-Session
Gibt die Sitzungsobjekte der zu schließenden PSSessions- an. Geben Sie eine Variable ein, die die PSSessions- oder einen Befehl enthält, der die PSSessions-erstellt oder abruft, z. B. einen New-PSSession
- oder Get-PSSession
-Befehl. Sie können auch ein oder mehrere Sitzungsobjekte an Remove-PSSession
übergeben.
Typ: | PSSession[] |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-VMId
Gibt ein Array der ID von virtuellen Computern an. Dieses Cmdlet startet eine interaktive Sitzung mit jedem der angegebenen virtuellen Computer. Verwenden Sie den folgenden Befehl, um die virtuellen Computer anzuzeigen, die Ihnen zur Verfügung stehen:
Get-VM | Select-Object -Property Name, ID
Typ: | Guid[] |
Aliase: | VMGuid |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-VMName
Gibt ein Array von Namen virtueller Computer an. Dieses Cmdlet startet eine interaktive Sitzung mit jedem der angegebenen virtuellen Computer. Verwenden Sie das Cmdlet Get-VM
, um die virtuellen Computer anzuzeigen, die Ihnen zur Verfügung stehen.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können ein Sitzungsobjekt an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.
Hinweise
PowerShell enthält die folgenden Aliase für Remove-PSSession
:
Alle Plattformen:
rsn
Der parameter ID ist obligatorisch. Um alle PSSessions- in der aktuellen Sitzung zu löschen, geben Sie
Get-PSSession | Remove-PSSession
ein.Eine PSSession verwendet eine dauerhafte Verbindung mit einem Remotecomputer. Erstellen Sie eine PSSession-, um eine Reihe von Befehlen auszuführen, die Daten freigeben. Geben Sie
Get-Help about_PSSessions
ein, um weitere Informationen zu erfahren.PSSessions- für die aktuelle Sitzung spezifisch sind. Wenn Sie eine Sitzung beenden, werden die PSSessions, die Sie in dieser Sitzung erstellt haben, forcibly geschlossen.