Remove-PSSession

Schließt eine oder mehrere PowerShell-Sitzungen (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 Remove-PSSession Cmdlet schließt PowerShell-Sitzungen (PSSessions) in der aktuellen Sitzung. Es stoppt alle Befehle, die in 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, schließt dieses Cmdlet auch die Verbindung zwischen den lokalen und Remotecomputern.

Um eine PSSession zu entfernen, geben Sie den Namen, 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 nach ID

Remove-PSSession -Id 1, 2

Dieser Befehl entfernt die PSSessions mit IDs 1 und 2.

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 anders aussehen, haben sie die gleiche Wirkung.

Beispiel 3: Schließen von Sitzungen nach Name

$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession

Diese Befehle schließen die PSSessions , die mit Computern verbunden sind, die mit Namen beginnen Serv.

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 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 Get-PSSession Cmdlet, um die PSSessions in der aktuellen Sitzung abzurufen. Es verwendet einen Pipelineoperator (|) zum Senden der PSSessions an das Format-Table Cmdlet, das ihre ComputerName - und InstanceID-Eigenschaften in einer Tabelle formatiert. Der Parameter AutoSize komprimiert die Spalten für die Anzeige.

Aus der resultierenden Anzeige können Sie die zu schließende PSSession identifizieren und die InstanzID dieser PSSession in den zweiten Befehl kopieren und einfügen.

Der zweite Befehl verwendet das Cmdlet, um die Remove-PSSessionPSSession 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 jede PSSession in der aktuellen Sitzung. Nachdem Sie diese Funktion ihrem PowerShell-Profil hinzugefügt haben, geben Sie alle Sitzungen ein, um EndPSSalle 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. Um den lokalen Computer anzugeben, geben Sie den Computernamen localhostoder einen Punkt (.) ein.

Type:String[]
Aliases:Cn
Position:0
Default value:None
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
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 der Container-IDs abzurufen. Weitere Informationen finden Sie in der Hilfe für den Docker ps-Befehl .

Type:String[]
Position:Named
Default value:None
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 als die InstanceId einzugeben, aber es ist nur in der aktuellen Sitzung eindeutig. Um die ID einer PSSession zu finden, führen Sie das Get-PSSession Cmdlet ohne Parameter aus.

Type:Int32[]
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-InstanceId

Gibt ein Array von Instanz-IDs an. Dieses Cmdlet schließt die PSSessions , die die angegebenen Instanz-IDs aufweisen.

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. Geben Sie die Get-PSSession | Format-Table Name, ComputerName, InstanceIdInstanzID der PSSessions in der aktuellen Sitzung ein.

Type:Guid[]
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-Name

Gibt ein Array von Anzeigenamen von Sitzungen an. Dieses Cmdlet schließt die PSSessions , die die angegebenen Anzeigenamen aufweisen. Platzhalterzeichen sind zulässig.

Da der Anzeigename einer PSSession möglicherweise nicht eindeutig ist, sollten Sie bei Verwendung des Namensparameters auch den Parameter WhatIf oder Confirm im Remove-PSSession Befehl verwenden.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters: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 oder Get-PSSession BefehlNew-PSSession. Sie können auch ein oder mehrere Sitzungsobjekte an Remove-PSSession.

Type:PSSession[]
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters: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 für Sie verfügbaren virtuellen Computer anzuzeigen:

Get-VM | Select-Object -Property Name, ID

Type:Guid[]
Aliases:VMGuid
Position:Named
Default value:None
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 Get-VM Cmdlet, um die virtuellen Computer anzuzeigen, die ihnen zur Verfügung stehen.

Type:String[]
Position:Named
Default value:None
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
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

PSSession

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 Get-PSSession | Remove-PSSession.
  • 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 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, forcibly geschlossen.