Remove-PSSession
Schließt eine oder mehrere PowerShell-Sitzungen (PSSessions).
Syntax
Id (Standard)
Remove-PSSession
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Session
Remove-PSSession
[-Session] <PSSession[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceId
Remove-PSSession
-InstanceId <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Name
Remove-PSSession
-Name <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ComputerName
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 mithilfe von IDs
Remove-PSSession -Id 1, 2
Mit diesem Befehl werden die PSSessions entfernt, die die IDs 1 und 2 haben.
Beispiel 2: Entfernen aller Sitzungen aus 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: Schließen von Sitzungen mithilfe von Namen
$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession
Mit diesen Befehlen werden die PSSessions geschlossen, die mit Computern verbunden sind, deren Namen 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 basierend auf der 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 PS C:\> Remove-PSSession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85
Diese Befehle zeigen, wie Sie eine PSSession- basierend auf ihrer Instanz-ID oder RemoteRunspaceID-schließen.
Im ersten Befehl wird das Cmdlet Get-PSSession verwendet, 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.
Im zweiten Befehl wird das Cmdlet Remove-PSSession verwendet, 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 löscht alle PSSessions in der aktuellen Sitzung.
Nachdem Sie diese Funktion ihrem PowerShell-Profil hinzugefügt haben, geben Sie EndPSSein, 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. Platzhalterzeichen 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, den Localhost oder einen Punkt (.) ein.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
| Aliase: | Cn |
Parametersätze
ComputerName
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | vgl |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | 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. Sie lässt sich einfacher merken und eingeben als die InstanceId, ist aber nur in der aktuellen Sitzung eindeutig. Um die ID einer PSSession zu finden, führen Sie das Cmdlet Get-PSSession ohne Parameter aus.
Parametereigenschaften
| Typ: | Int32[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Id
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-InstanceId
Gibt ein Array von Instanz-IDs an. Dieses Cmdlet schließt die PSSessions, die die angegebenen Instanz-IDs haben.
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, InstanceIdein.
Parametereigenschaften
| Typ: | Guid[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
InstanceId
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Name
Gibt ein Array von Anzeigenamen von Sitzungen an. Dieses Cmdlet schließt die PSSessions mit den angegebenen Anzeigenamen. Platzhalterzeichen sind zulässig.
Da der Anzeigename einer PSSession möglicherweise nicht eindeutig ist, sollten Sie bei der Verwendung des Parameters Name auch die Verwendung des Parameters WhatIf oder Confirm im Befehl Remove-PSSession in Betracht ziehen.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
Name
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Session
Gibt die Sitzungsobjekte der zu schließenden PSSessions an. Geben Sie eine Variable ein, die die PSSessions enthält, oder einen Befehl, der die PSSessions erstellt oder abruft, z. B. einen New-PSSession oder den Befehl Get-PSSession . Sie können auch ein oder mehrere Sitzungsobjekte über die Pipeline an Remove-PSSession übergeben.
Parametereigenschaften
| Typ: | PSSession[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Session
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Wi |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
PSSession
Sie können ein Sitzungsobjekt an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet gibt keine Objekte zurück.
Hinweise
- Der parameter ID ist obligatorisch. Um alle PSSessions in der aktuellen Sitzung zu löschen, geben Sie
Get-PSSession | Remove-PSSessionein. - Eine PSSession verwendet eine permanente Verbindung mit einem Remotecomputer. Erstellen Sie eine PSSession, um eine Reihe von Befehlen auszuführen, die Daten gemeinsam nutzen. Geben Sie
Get-Help about_PSSessionsein, um weitere Informationen zu erfahren. - PSSessions sind spezifisch für die aktuelle Sitzung. Wenn Sie eine Sitzung beenden, werden die PSSessions, die Sie in dieser Sitzung erstellt haben, zwangsweise geschlossen.