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
-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 (PSSessions) i den aktuella sessionen. Det stoppar alla kommandon som körs i PSSessions, avslutar PSSessionoch 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 lokala datorer och fjärrdatorer.
Om du vill ta bort en PSSession-anger du Name, ComputerName, IDeller InstanceID för sessionen.
Om du har sparat PSSession- i en variabel finns sessionsobjektet kvar i variabeln, men tillståndet för PSSession är Stängd.
Exempel
Exempel 1: Ta bort sessioner med hjälp av ID:t
Remove-PSSession -Id 1, 2
Det här kommandot tar bort PSSessions- 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 PSSessions- i den aktuella sessionen. Även om de tre kommandoformaten ser olika ut har de samma effekt.
Exempel 3: Stäng sessioner med hjälp av namn
$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession
Dessa kommandon stänger PSSessions- 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 PSSessions- 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, InstanceIDoch ID.
Exempel 5: Stäng en session baserat på 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 PS C:\> 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 PSSessions- i den aktuella sessionen. Den använder en pipelineoperator (|) för att skicka PSSessions till cmdleten Format-Table som formaterar deras ComputerName och InstanceID egenskaper i en tabell. Parametern AutoSize komprimerar kolumnerna för visning.
Från den resulterande visningen kan du identifiera PSSession- som ska stängas och kopiera och klistra in InstanceID- för den PSSession- 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 tar bort alla PSSessions- i den aktuella sessionen.
När du har lagt till den här funktionen i PowerShell-profilen skriver du EndPSS
om du vill ta bort alla sessioner.
Parametrar
-ComputerName
Anger en matris med namn på datorer. Den här cmdleten stänger PSSessions- 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 (.).
Typ: | String[] |
Alias: | Cn |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Typ: | SwitchParameter |
Alias: | cf |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Id
Anger en matris med ID:t för sessioner. Den här cmdleten stänger PSSessions- med de angivna ID:na. 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.
Typ: | Int32[] |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-InstanceId
Anger en matris med instans-ID:t. Den här cmdleten stänger 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 du Get-PSSession | Format-Table Name, ComputerName, InstanceId
.
Typ: | Guid[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Name
Anger en matris med egna namn på sessioner. Den här cmdleten stänger PSSessions- som har de angivna egna namnen. Jokertecken tillåts.
Eftersom det egna namnet på en
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
-Session
Anger sessionsobjekten för PSSessions att stänga. Ange en variabel som innehåller PSSessions- eller ett kommando som skapar eller hämtar PSSessions-, till exempel ett New-PSSession- eller Get-PSSession- kommando. Du kan också skicka ett eller flera sessionsobjekt till Remove-PSSession.
Typ: | PSSession[] |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-WhatIf
Visar vad som skulle hända om cmdleten körs. Cmdleten körs inte.
Typ: | SwitchParameter |
Alias: | wi |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka ett sessionsobjekt till den här cmdleten.
Utdata
None
Den här cmdleten returnerar inga objekt.
Kommentarer
- Parametern ID är obligatorisk. Om du vill ta bort alla PSSessions- 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. Om du vill ha mer information skriver du
Get-Help about_PSSessions
. - PSSessions är specifika för den aktuella sessionen. När du avslutar en session stängs PSSessions- som du skapade i den sessionen med två skäl.