Delen via


Remove-PSSession

Hiermee sluit u een of meer PowerShell-sessies (PSSessions).

Syntaxis

Remove-PSSession
      [-Id] <Int32[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      [-Session] <PSSession[]>
      [-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 cmdlet Remove-PSSession sluit PowerShell-sessies (PSSessions) in de huidige sessie. Het stopt alle opdrachten die worden uitgevoerd in de PSSessions, beëindigt de PSSessionen 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 Name, ComputerName, IDof InstanceID van de sessie in.

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

Voorbeelden

Voorbeeld 1: Sessies verwijderen met behulp van id's

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 met behulp van namen

$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, InstanceIDen ID.

Voorbeeld 5: Een sessie sluiten op basis van 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 PS C:\> Remove-PSSession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

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

De eerste opdracht gebruikt de cmdlet Get-PSSession 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 ComputerName- en InstanceID eigenschappen in een tabel worden opgemaakt. De parameter AutoSize autoSize comprimeert de kolommen voor weergave.

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

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

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

Function EndPSS { Get-PSSession | Remove-PSSession }

Met deze functie worden alle PSSessions in de huidige sessie verwijderd. Nadat u deze functie aan uw PowerShell-profiel hebt toegevoegd, typt u EndPSSom alle sessies te verwijderen.

Parameters

-ComputerName

Hiermee geeft u een matrix van namen van computers. Met deze cmdlet sluit u de PSSessions 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, localhost of een punt (.).

Type:String[]
Aliassen:Cn
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:True

-Confirm

U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliassen:cf
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Id

Hiermee geeft u een matrix van id's van sessies. Met deze cmdlet sluit u de PSSessions 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- in de huidige sessie uniek identificeert. Het is gemakkelijker 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 cmdlet Get-PSSession uit zonder parameters.

Type:Int32[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-InstanceId

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

De exemplaar-id is een GUID waarmee een PSSession- in de huidige sessie uniek wordt geïdentificeerd. 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
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Name

Hiermee geeft u een matrix van beschrijvende namen van sessies. Met deze cmdlet sluit u de PSSessions 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 de WhatIf- of bevestigen parameter in de remove-PSSession opdracht.

Type:String[]
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:True

-Session

Hiermee geeft u de sessieobjecten van de PSSessions te sluiten. Voer een variabele in die de PSSessions bevat of een opdracht waarmee de PSSessionsworden gemaakt 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
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-WhatIf

Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliassen:wi
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

PSSession

U kunt een sessieobject doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Met deze cmdlet worden geen objecten geretourneerd.

Notities

  • De parameter Id 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 Get-Help about_PSSessionsvoor meer informatie.
  • 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.