Remove-PSSession

Hiermee sluit u een of meer PowerShell-sessies (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>]

Description

De Remove-PSSession cmdlet sluit PowerShell-sessies (PSSessions) in de huidige sessie. Het stopt alle opdrachten die worden uitgevoerd in de PSSessions, beëindigt de PSSession en publiceert de resources die de PSSession gebruikte. Als de PSSession is verbonden met een externe computer, sluit deze cmdlet ook de verbinding tussen de lokale en externe computers.

Als u een PSSession wilt verwijderen, voert u de naam, computernaam, id of instantie-id van de sessie in.

Als u de PSSession in een variabele hebt opgeslagen, blijft het sessieobject in de variabele, maar is de status van de PSSession gesloten.

Voorbeelden

Voorbeeld 1: Sessies verwijderen op id

Remove-PSSession -Id 1, 2

Met deze opdracht verwijdert u de PSSessions met id's 1 en 2.

Voorbeeld 2: Alle sessies in de huidige sessie verwijderen

Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s

Met deze opdrachten worden alle PSSessions in de huidige sessie verwijderd. Hoewel de drie opdrachtindelingen er anders uitzien, hebben ze hetzelfde effect.

Voorbeeld 3: Sessies sluiten op naam

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

Met deze opdrachten sluit u de PSSessions die zijn verbonden met computers met namen die beginnen met Serv.

Voorbeeld 4: Sessies sluiten die zijn verbonden met een poort

Get-PSSession | where {$_.port -eq 90} | Remove-PSSession

Met deze opdracht sluit u de PSSessions die zijn verbonden met poort 90. U kunt deze opdrachtindeling gebruiken om PSSessions te identificeren op andere eigenschappen dan ComputerName, Name, InstanceID en ID.

Voorbeeld 5: Een sessie sluiten op exemplaar-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

Deze opdrachten laten zien hoe u een PSSession sluit op basis van de exemplaar-id of RemoteRunspaceID.

De eerste opdracht gebruikt de Get-PSSession cmdlet om de PSSessions op te halen in de huidige sessie. Er wordt een pijplijnoperator (|) gebruikt om de PSSessions te verzenden naar de Format-Table cmdlet, waarmee de eigenschappen ComputerName en InstanceID in een tabel worden opgemaakt. De parameter AutoSize comprimeert de kolommen voor weergave.

Vanaf de resulterende weergave kunt u de PSSession identificeren die moet worden gesloten en de InstanceID van die PSSession kopiëren en plakken in de tweede opdracht.

De tweede opdracht gebruikt de Remove-PSSession cmdlet om de PSSession te verwijderen met de opgegeven exemplaar-id.

Voorbeeld 6: Een functie maken waarmee alle sessies in de huidige sessie worden verwijderd

Function EndPSS { Get-PSSession | Remove-PSSession }

Met deze functie wordt elke PSSession in de huidige sessie gesloten. Nadat u deze functie aan uw PowerShell-profiel hebt toegevoegd, typt u om alle sessies EndPSSte verwijderen.

Parameters

-ComputerName

Hiermee geeft u een matrix van namen van computers. Met deze cmdlet worden de PSSessions gesloten die zijn verbonden met de opgegeven computers. Jokertekens zijn toegestaan.

Typ de NetBIOS-naam, een IP-adres of een volledig gekwalificeerde domeinnaam van een of meer externe computers. Als u de lokale computer wilt opgeven, typt u de computernaam of localhosteen punt (.).

Type:String[]
Aliases:Cn
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContainerId

Hiermee geeft u een matrix van id's van containers. Met deze cmdlet worden sessies voor elk van de opgegeven containers verwijderd. Gebruik de docker ps opdracht om een lijst met container-id's op te halen. Zie de Help voor de opdracht docker ps voor meer informatie.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Id

Hiermee geeft u een matrix van id's van sessies. Met deze cmdlet worden de PSSessions gesloten met de opgegeven id's. Typ een of meer id's, gescheiden door komma's of gebruik de bereikoperator (..) om een bereik van id's op te geven.

Een id is een geheel getal dat de PSSession uniek identificeert in de huidige sessie. Het is gemakkelijker om te onthouden en te typen dan de InstanceId, maar het is alleen uniek in de huidige sessie. Als u de id van een PSSession wilt vinden, voert u de Get-PSSession cmdlet uit zonder parameters.

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

-InstanceId

Hiermee geeft u een matrix van exemplaar-id's. Met deze cmdlet worden de PSSessions gesloten met de opgegeven exemplaar-id's.

De exemplaar-id is een GUID die een PSSession uniek identificeert in de huidige sessie. De exemplaar-id is uniek, zelfs als er meerdere sessies worden uitgevoerd op één computer.

De exemplaar-id wordt opgeslagen in de eigenschap InstanceID van het object dat een PSSession vertegenwoordigt. Als u de InstanceID van de PSSessions in de huidige sessie wilt vinden, typt u Get-PSSession | Format-Table Name, ComputerName, InstanceId.

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

-Name

Hiermee geeft u een matrix van beschrijvende namen van sessies. Met deze cmdlet worden de PSSessions gesloten met de opgegeven beschrijvende namen. Jokertekens zijn toegestaan.

Omdat de beschrijvende naam van een PSSession mogelijk niet uniek is, kunt u, wanneer u de parameter Name gebruikt, ook overwegen de parameter WhatIf of Confirm in de Remove-PSSession opdracht te gebruiken.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Session

Hiermee geeft u de sessieobjecten van de PSSessions te sluiten. Voer een variabele in die de PSSessions of een opdracht bevat die de PSSessions maakt of ophaalt, zoals een New-PSSession of Get-PSSession opdracht. U kunt ook een of meer sessieobjecten doorsluisen naar Remove-PSSession.

Type:PSSession[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VMId

Hiermee geeft u een matrix van id van virtuele machines. Met deze cmdlet wordt een interactieve sessie gestart met elk van de opgegeven virtuele machines. Gebruik de volgende opdracht om de virtuele machines weer te geven die voor u beschikbaar zijn:

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

Hiermee geeft u een matrix van namen van virtuele machines. Met deze cmdlet wordt een interactieve sessie gestart met elk van de opgegeven virtuele machines. Gebruik de Get-VM cmdlet om de virtuele machines te zien die voor u beschikbaar zijn.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

PSSession

U kunt een sessieobject doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer.

Notities

Windows PowerShell bevat de volgende aliassen voor Remove-PSSession:

  • rsn

  • De id-parameter is verplicht. Als u alle PSSessions in de huidige sessie wilt verwijderen, typt u Get-PSSession | Remove-PSSession.

  • Een PSSession maakt gebruik van een permanente verbinding met een externe computer. Maak een PSSession om een reeks opdrachten uit te voeren waarmee gegevens worden gedeeld. Typ voor meer informatie Get-Help about_PSSessions.

  • PSSessions zijn specifiek voor de huidige sessie. Wanneer u een sessie beëindigt, worden de PSSessions die u in die sessie hebt gemaakt, geforceerd gesloten.