Dela via


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 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, 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 PSSession- kanske inte är unikt kan du överväga att även använda parametern WhatIf eller Confirm i kommandot Remove-PSSession när du använder parametern Remove-PSSession.

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

PSSession

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.