Remove-PSSession
Stänger en eller flera PowerShell-sessioner (PSSessioner).
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
Cmdleten Remove-PSSession
stänger PowerShell-sessioner (PSSessioner) i den aktuella sessionen. Den stoppar alla kommandon som körs i PSSessioner, avslutar PSSession och släpper de resurser som PSSession använde. Om PSSession är ansluten till en fjärrdator stänger den här cmdleten även anslutningen mellan de lokala datorerna och fjärrdatorerna.
Om du vill ta bort en PSSession anger du Namn, Datornamn, ID eller InstanceID för sessionen.
Om du har sparat PSSessionen i en variabel finns sessionsobjektet kvar i variabeln, men pssessionens tillstånd är Stängt.
Exempel
Exempel 1: Ta bort sessioner efter ID
Remove-PSSession -Id 1, 2
Det här kommandot tar bort PSSessioner som har ID:t 1
och 2
.
Exempel 2: Ta bort alla sessioner i den aktuella sessionen
Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s
Dessa kommandon tar bort alla PSSessioner i den aktuella sessionen. Även om de tre kommandoformaten ser olika ut har de samma effekt.
Exempel 3: Stäng sessioner efter namn
$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession
Dessa kommandon stänger PSSessioner som är anslutna till datorer som har namn som börjar med Serv
.
Exempel 4: Stäng sessioner som är anslutna till en port
Get-PSSession | where {$_.port -eq 90} | Remove-PSSession
Det här kommandot stänger PSSessioner som är anslutna till port 90. Du kan använda det här kommandoformatet för att identifiera PSSessioner med andra egenskaper än ComputerName, Name, InstanceID och ID.
Exempel 5: Stäng en session efter instans-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
Dessa kommandon visar hur du stänger en PSSession baserat på dess instans-ID eller RemoteRunspaceID.
Det första kommandot använder cmdleten Get-PSSession
för att hämta PSSessioner i den aktuella sessionen.
Den använder en pipelineoperator (|
) för att skicka PSSessioner till cmdleten Format-Table
, som formaterar egenskaperna ComputerName och InstanceID i en tabell. Parametern AutoSize komprimerar kolumnerna för visning.
Från den resulterande visningen kan du identifiera pssessionen som ska stängas och kopiera och klistra in InstanceID för pssessionen i det andra kommandot.
Det andra kommandot använder cmdleten Remove-PSSession
för att ta bort PSSession med det angivna instans-ID:t.
Exempel 6: Skapa en funktion som tar bort alla sessioner i den aktuella sessionen
Function EndPSS { Get-PSSession | Remove-PSSession }
Den här funktionen stänger varje PSSession i den aktuella sessionen. När du har lagt till den här funktionen i PowerShell-profilen skriver du om du vill ta bort alla sessioner EndPSS
.
Parametrar
-ComputerName
Anger en matris med namn på datorer. Den här cmdleten stänger de PSSessioner som är anslutna till de angivna datorerna. Jokertecken tillåts.
Ange NetBIOS-namnet, en IP-adress eller ett fullständigt domännamn för en eller flera fjärrdatorer. Om du vill ange den lokala datorn skriver du datornamnet, localhost
eller en punkt (.
).
Type: | String[] |
Aliases: | Cn |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ContainerId
Anger en matris med ID:t för containrar. Den här cmdleten tar bort sessioner för var och en av de angivna containrarna. docker ps
Använd kommandot för att hämta en lista över container-ID:t. Mer information finns i hjälpen för kommandot docker ps .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Id
Anger en matris med ID:t för sessioner. Den här cmdleten stänger PSSessioner med angivna ID:t.
Skriv ett eller flera ID:er, avgränsade med kommatecken, eller använd intervalloperatorn (..
) för att ange ett intervall med ID:er.
Ett ID är ett heltal som unikt identifierar PSSession i den aktuella sessionen. Det är lättare att komma ihåg och skriva än InstanceId, men det är bara unikt i den aktuella sessionen. Om du vill hitta ID:t för en PSSession kör du cmdleten Get-PSSession
utan parametrar.
Type: | Int32[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InstanceId
Anger en matris med instans-ID:t. Den här cmdleten stänger de PSSessioner som har angivna instans-ID:t.
Instans-ID:t är ett GUID som unikt identifierar en PSSession i den aktuella sessionen. Instans-ID:t är unikt, även om du har flera sessioner som körs på en enda dator.
Instans-ID:t lagras i egenskapen InstanceID för objektet som representerar en PSSession. Om du vill hitta InstanceID för PSSessions i den aktuella sessionen skriver Get-PSSession | Format-Table Name, ComputerName, InstanceId
du .
Type: | Guid[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Anger en matris med egna namn på sessioner. Den här cmdleten stänger de PSSessioner som har de angivna egna namnen. Jokertecken tillåts.
Eftersom det egna namnet på en PSSession kanske inte är unikt bör du överväga att även använda parametern WhatIf eller Confirm i kommandot när du använder parametern Remove-PSSession
Namn.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Session
Anger sessionsobjekt för PSSessioner som ska stängas . Ange en variabel som innehåller PSSessioner eller ett kommando som skapar eller hämtar PSSessioner, till exempel ett New-PSSession
- eller Get-PSSession
-kommando. Du kan också skicka ett eller flera sessionsobjekt till Remove-PSSession
.
Type: | PSSession[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMId
Anger en matris med ID för virtuella datorer. Den här cmdleten startar en interaktiv session med var och en av de angivna virtuella datorerna. Om du vill se de virtuella datorer som är tillgängliga för dig använder du följande kommando:
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
Anger en matris med namn på virtuella datorer. Den här cmdleten startar en interaktiv session med var och en av de angivna virtuella datorerna. Om du vill se de virtuella datorer som är tillgängliga för dig använder du cmdleten Get-VM
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
Du kan skicka ett sessionsobjekt till den här cmdleten.
Utdata
None
Denna cmdlet returnerar inga objekt.
Kommentarer
- Parametern Id är obligatorisk. Om du vill ta bort alla PSSessioner i den aktuella sessionen skriver du
Get-PSSession | Remove-PSSession
. - En PSSession använder en beständig anslutning till en fjärrdator. Skapa en PSSession för att köra en serie kommandon som delar data. För mer information ange
Get-Help about_PSSessions
. - PSSessioner är specifika för den aktuella sessionen. När du avslutar en session stängs de PSSessioner som du skapade i sessionen med två skäl.