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 EndPSS
om 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
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_PSSessions
voor 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.