Remove-PSSession

Zamyka co najmniej jedną sesję programu PowerShell (PSSessions).

Składnia

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>]

Opis

Polecenie Remove-PSSession cmdlet zamyka sesje programu PowerShell (PSSessions) w bieżącej sesji. Zatrzymuje wszystkie polecenia, które są uruchomione w psSessions, kończy psSession i zwalnia zasoby, których używa psSession . Jeśli serwer PSSession jest połączony z komputerem zdalnym, to polecenie cmdlet zamyka również połączenie między komputerami lokalnymi i zdalnymi.

Aby usunąć psSession, wprowadź nazwę, nazwę komputera, identyfikator lub identyfikator wystąpienia sesji.

Jeśli zapisano sesję PSSession w zmiennej, obiekt sesji pozostaje w zmiennej, ale stan sesji psSession jest zamknięty.

Przykłady

Przykład 1. Usuwanie sesji według identyfikatora

Remove-PSSession -Id 1, 2

To polecenie usuwa pliki PSSessions z identyfikatorami 1 i 2.

Przykład 2: Usuwanie wszystkich sesji w bieżącej sesji

Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s

Te polecenia usuwają wszystkie sesje PSSessions w bieżącej sesji. Mimo że trzy formaty poleceń wyglądają inaczej, mają taki sam efekt.

Przykład 3: Zamykanie sesji według nazwy

$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession

Te polecenia zamykają pliki PSSessions połączone z komputerami, które mają nazwy rozpoczynające się od Serv.

Przykład 4: Zamykanie sesji połączonych z portem

Get-PSSession | where {$_.port -eq 90} | Remove-PSSession

To polecenie zamyka pliki PSSessions połączone z portem 90. Ten format polecenia służy do identyfikowania sesji PSSessions według właściwości innych niż ComputerName, Name, InstanceID i ID.

Przykład 5. Zamykanie sesji według identyfikatora wystąpienia

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

Te polecenia pokazują, jak zamknąć sesję PSSession na podstawie identyfikatora wystąpienia lub RemoteRunspaceID.

Pierwsze polecenie używa Get-PSSession polecenia cmdlet do pobrania sesji programu PSSessions w bieżącej sesji. Używa operatora potoku (|) do wysyłania poleceń cmdlet PSSessions do Format-Table polecenia cmdlet, które formatuje ich właściwości ComputerName i InstanceID w tabeli. Parametr AutoSize kompresuje kolumny do wyświetlenia.

Na wyświetlonym ekranie można zidentyfikować ciąg PSSession do zamknięcia, a następnie skopiować i wkleić wartość InstanceID tego polecenia PSSession .

Drugie polecenie używa Remove-PSSession polecenia cmdlet , aby usunąć sesję PSSession z określonym identyfikatorem wystąpienia.

Przykład 6. Tworzenie funkcji, która usuwa wszystkie sesje w bieżącej sesji

Function EndPSS { Get-PSSession | Remove-PSSession }

Ta funkcja zamyka każdą sesję PSSession w bieżącej sesji. Po dodaniu tej funkcji do profilu programu PowerShell, aby usunąć wszystkie sesje, wpisz EndPSS.

Parametry

-ComputerName

Określa tablicę nazw komputerów. To polecenie cmdlet zamyka pssessions , które są połączone z określonymi komputerami. Dozwolone są symbole wieloznaczne.

Wpisz nazwę NetBIOS, adres IP lub w pełni kwalifikowaną nazwę domeny co najmniej jednego komputera zdalnego. Aby określić komputer lokalny, wpisz nazwę komputera, localhostlub kropkę (.).

Type:String[]
Aliases:Cn
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContainerId

Określa tablicę identyfikatorów kontenerów. To polecenie cmdlet usuwa sesje dla każdego z określonych kontenerów. docker ps Użyj polecenia , aby uzyskać listę identyfikatorów kontenerów. Aby uzyskać więcej informacji, zobacz pomoc dotyczącą polecenia docker ps .

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Id

Określa tablicę identyfikatorów sesji. To polecenie cmdlet zamyka pliki PSSessions z określonymi identyfikatorami. Wpisz co najmniej jeden identyfikator rozdzielony przecinkami lub użyj operatora zakresu (..), aby określić zakres identyfikatorów.

Identyfikator to liczba całkowita, która jednoznacznie identyfikuje sesję PSSession w bieżącej sesji. Łatwiej jest zapamiętać i wpisać wartość InstanceId, ale jest ona unikatowa tylko w bieżącej sesji. Aby znaleźć identyfikator sesji PSSession, uruchom Get-PSSession polecenie cmdlet bez parametrów.

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstanceId

Określa tablicę identyfikatorów wystąpień. To polecenie cmdlet zamyka pliki PSSessions z określonymi identyfikatorami wystąpień.

Identyfikator wystąpienia jest identyfikatorem GUID, który jednoznacznie identyfikuje sesję PSSession w bieżącej sesji. Identyfikator wystąpienia jest unikatowy, nawet jeśli masz wiele sesji uruchomionych na jednym komputerze.

Identyfikator wystąpienia jest przechowywany we właściwości InstanceID obiektu, który reprezentuje psSession. Aby znaleźć identyfikator instanceIDsesji PSSessions w bieżącej sesji, wpisz Get-PSSession | Format-Table Name, ComputerName, InstanceId.

Type:Guid[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Określa tablicę przyjaznych nazw sesji. To polecenie cmdlet zamyka pliki PSSessions , które mają określone przyjazne nazwy. Dozwolone są symbole wieloznaczne.

Ponieważ przyjazna nazwa psSession może nie być unikatowa, w przypadku użycia parametru Name należy rozważyć również użycie parametru WhatIf lub Confirm w poleceniu Remove-PSSession .

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Session

Określa obiekty sesji psSessions do zamknięcia. Wprowadź zmienną zawierającą ciąg PSSessions lub polecenie, które tworzy lub pobiera pliki PSSessions, takie jak New-PSSession polecenie lub Get-PSSession . Do obiektu można również przekazać potok co najmniej jeden obiekt sesji.Remove-PSSession

Type:PSSession[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VMId

Określa tablicę identyfikatorów maszyn wirtualnych. To polecenie cmdlet uruchamia interaktywną sesję z każdą z określonych maszyn wirtualnych. Aby wyświetlić dostępne maszyny wirtualne, użyj następującego polecenia:

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

Określa tablicę nazw maszyn wirtualnych. To polecenie cmdlet uruchamia interaktywną sesję z każdą z określonych maszyn wirtualnych. Aby wyświetlić dostępne maszyny wirtualne, użyj Get-VM polecenia cmdlet .

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

PSSession

Do tego polecenia cmdlet można przekazać obiekt sesji.

Dane wyjściowe

None

To polecenie cmdlet nie zwraca żadnych obiektów.

Uwagi

  • Parametr Id jest obowiązkowy. Aby usunąć wszystkie sesje PSSessions w bieżącej sesji, wpisz Get-PSSession | Remove-PSSession.
  • Program PSSession używa trwałego połączenia z komputerem zdalnym. Utwórz program PSSession , aby uruchomić serię poleceń, które udostępniają dane. Aby uzyskać więcej informacji, wpisz polecenie Get-Help about_PSSessions.
  • Sesje PSSession są specyficzne dla bieżącej sesji. Po zakończeniu sesji sesja sesji sesji programu PSSessions utworzone w tej sesji są wymuszone.