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. Es beendet alle Befehle, die in den PSSessions ausgeführt werden, beendet die PSSession und gibt die Ressourcen frei, die die PSSession verwendet hat. Wenn die PSSession mit einem Remotecomputer verbunden ist, wird mit diesem Cmdlet auch die Verbindung zwischen dem lokalen Computer und dem Remotecomputer 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, 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 über die 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
Mit diesen Befehlen werden alle PSSessions in der aktuellen Sitzung entfernt. Obwohl die drei Befehlsformate anders aussehen, haben sie die gleiche Wirkung.
Beispiel 3: Schließen von Sitzungen mithilfe von Namen
$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession
Diese Befehle schließen die PSSessions , 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. Sie können dieses Befehlsformat verwenden, um PSSessions nach anderen Eigenschaften als Computername, Name, InstanceID und ID zu identifizieren.
Beispiel 5: Schließen einer Sitzung basierend auf instance 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 der instance-ID oder RemoteRunspaceID schließen.
Der erste Befehl verwendet das Cmdlet Get-PSSession , um die PSSessions in der aktuellen Sitzung abzurufen. Sie verwendet einen Pipelineoperator (|), um die PSSessions an das Cmdlet Format-Table zu senden, das ihre ComputerName - und InstanceID-Eigenschaften in einer Tabelle formatiert. Der AutoSize-Parameter komprimiert die Spalten für die Anzeige.
In der resultierenden Anzeige können Sie die PSSession identifizieren, die geschlossen werden soll, und die InstanceID dieser PSSession kopieren und in den zweiten Befehl einfügen.
Der zweite Befehl verwendet das Cmdlet Remove-PSSession, um die PSSession mit der angegebenen instance-ID zu entfernen.
Beispiel 6: Create 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.
Geben Sie nach dem Hinzufügen dieser Funktion zu Ihrem PowerShell-Profil ein EndPSS
, 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 den vollqualifizierten Domänennamen mindestens eines Computers ein. Geben Sie zum Angeben des lokalen Computers den Computernamen, localhost oder einen Punkt (.) ein.
Type: | String[] |
Aliases: | Cn |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Confirm
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ContainerId
Gibt ein Array von IDs von Containern an. Dieses Cmdlet entfernt Sitzungen für jeden der angegebenen Container. Verwenden Sie den docker ps
Befehl, um eine Liste mit Container-IDs abzurufen. Weitere Informationen finden Sie in der Hilfe zum Befehl docker ps .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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, sich zu merken und einzugeben als die InstanceId, aber sie ist nur in der aktuellen Sitzung eindeutig. Um die ID einer PSSession zu finden, führen Sie das cmdlet Get-PSSession ohne Parameter aus.
Type: | Int32[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InstanceId
Gibt ein Array von instance IDs an. Dieses Cmdlet schließt die PSSessions, die über die angegebenen instance IDs verfügen.
Die instance-ID ist eine GUID, die eine PSSession in der aktuellen Sitzung eindeutig identifiziert. Die instance-ID ist eindeutig, auch wenn mehrere Sitzungen auf einem einzelnen Computer ausgeführt werden.
Die instance-ID wird in der InstanceID-Eigenschaft des Objekts gespeichert, das eine PSSession darstellt.
Geben Sie ein, um die InstanceID der PSSessions in der aktuellen Sitzung Get-PSSession | Format-Table Name, ComputerName, InstanceId
zu suchen.
Type: | Guid[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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 beim Verwenden des Parameters Name auch den Parameter WhatIf oder Confirm im Befehl Remove-PSSession verwenden.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Session
Gibt die Sitzungsobjekte der PSSessions an, die geschlossen werden sollen. 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 Get-PSSession-Befehl . Sie können auch ein oder mehrere Sitzungsobjekte an Remove-PSSession übergeben.
Type: | PSSession[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMId
Gibt ein Array der ID virtueller Computer an. Dieses Cmdlet startet eine interaktive Sitzung mit jedem der angegebenen virtuellen Computer. Verwenden Sie den folgenden Befehl, um die für Sie verfügbaren virtuellen Computer anzuzeigen:
Get-VM | Select-Object -Property Name, ID
Type: | Guid[] |
Aliases: | VMGuid |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMName
Gibt ein Array von Namen von virtuellen Computern an. Dieses Cmdlet startet eine interaktive Sitzung mit jedem der angegebenen virtuellen Computer. Verwenden Sie das Cmdlet Get-VM , um die für Sie verfügbaren virtuellen Computer anzuzeigen.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
Sie können ein Sitzungsobjekt an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet gibt keine Objekte zurück.
Hinweise
- Der Id-Parameter ist obligatorisch. Um alle PSSessions in der aktuellen Sitzung zu löschen, geben Sie ein
Get-PSSession | Remove-PSSession
. - Eine PSSession verwendet eine dauerhafte Verbindung mit einem Remotecomputer. Create eine PSSession, um eine Reihe von Befehlen auszuführen, die Daten gemeinsam nutzen. Geben Sie Folgendes ein, um weitere Informationen zu erhalten:
Get-Help about_PSSessions
. - PSSessions sind spezifisch für die aktuelle Sitzung. Wenn Sie eine Sitzung beenden, werden die PSSessions , die Sie in dieser Sitzung erstellt haben, gewaltsam geschlossen.