Dela via


Remove-PSSession

Stänger en eller flera PowerShell-sessioner (PSSessioner).

Syntax

Id (Standard)

Remove-PSSession
    [-Id] <Int32[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Session

Remove-PSSession
    [-Session] <PSSession[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ContainerId

Remove-PSSession
    -ContainerId <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

VMId

Remove-PSSession
    -VMId <Guid[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

VMName

Remove-PSSession
    -VMName <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InstanceId

Remove-PSSession
    -InstanceId <Guid[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Name

Remove-PSSession
    -Name <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ComputerName

Remove-PSSession
    [-ComputerName] <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Cmdleten Remove-PSSession stänger PowerShell-sessioner (PSSessions) i den nuvarande 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 efter ID

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 efter 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-Object {$_.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 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 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 stänger varje PSSession i den aktuella sessionen. När du har lagt till den här funktionen i PowerShell-profilen skriver du EndPSSom 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, localhosteller en punkt (.).

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False
Alias:Cn

Parameteruppsättningar

ComputerName
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:jfr

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-ContainerId

Anger en matris med ID:er för containrar. Den här cmdleten tar bort sessioner för var och en av de angivna containrarna. Använd kommandot docker ps för att hämta en lista över container-ID:t. Mer information finns i hjälpen för kommandot docker ps.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ContainerId
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Id

Anger ett fält med ID:n för sessioner. Den här cmdleten stänger PSSessions- med de angivna ID:na. Ange ett eller flera ID:t, 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.

Parameteregenskaper

Typ:

Int32[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Id
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-InstanceId

Anger en matris med instans-ID:t. Den här cmdleten stänger PSSessioner som har de angivna instans-ID:erna.

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 ett PSSession-. Om du vill hitta InstanceId för PSSessions i den aktuella sessionen skriver du Get-PSSession | Format-Table Name, ComputerName, InstanceId.

Parameteregenskaper

Typ:

Guid[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

InstanceId
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Name

Anger en array med vänliga namn på sessioner. Den här cmdleten stänger de PSSessioner som har de angivna vänliga namnen. Jokertecken tillåts.

Eftersom det beskrivande 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.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

Name
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Session

Specificerar vilka sessionobjekt i PSSessions som ska stängas. 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.

Parameteregenskaper

Typ:

PSSession[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Session
Position:0
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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

Parameteregenskaper

Typ:

Guid[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:VMGuid

Parameteruppsättningar

VMId
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

VMName
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-WhatIf

Visar vad som skulle hända om kommandot körs. Cmdleten körs inte.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:Wi

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

PSSession

Du kan skicka ett sessionsobjekt till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata.

Kommentarer

PowerShell innehåller följande alias för Remove-PSSession:

  • Alla plattformar:

    • rsn
  • 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, tvångsstängs PSSessions som du skapade i den sessionen.