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 cmdlet Remove-PSSession
zamyka sesje programu PowerShell (pssessions) w bieżącej sesji. Zatrzymuje wszystkie polecenia uruchomione w pssessions , kończy PSSessioni zwalnia zasoby używane przez PSSession. Jeśli 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ź Name, ComputerName, Idlub InstanceId sesji.
Jeśli zapisano pssession w zmiennej, obiekt sesji pozostaje w zmiennej, ale stan pssession jest zamknięty.
Przykłady
Przykład 1. Usuwanie sesji według identyfikatora
Remove-PSSession -Id 1, 2
To polecenie usuwa PSSessions, które mają identyfikatory 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 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ą PSSessions, które są 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 PSSessions, które są połączone z portem 90. Ten format polecenia służy do identyfikowania PSSessions według właściwości innych niż ComputerName, Name, InstanceIdi 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ąć PSSession na podstawie identyfikatora wystąpienia lub RemoteRunspaceID.
Pierwsze polecenie używa polecenia cmdlet Get-PSSession
, aby uzyskać psSessions w bieżącej sesji.
Używa operatora potoku (|
) do wysyłania PSSessions do polecenia cmdlet Format-Table
, które formatuje ich ComputerName i Instance Id właściwości w tabeli. Parametr autosize kompresuje kolumny do wyświetlenia.
Z wyświetlonego ekranu można zidentyfikować PSSession, które mają zostać zamknięte, a następnie skopiować i wkleić InstanceId tego PSSession w drugim poleceniu.
Drugie polecenie używa polecenia cmdlet Remove-PSSession
, aby usunąć 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 wszystkie 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 jednego lub kilku komputerów zdalnych. Aby określić komputer lokalny, wpisz nazwę komputera, localhost
lub kropkę (.
).
Typ: | String[] |
Aliasy: | Cn |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | True |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ContainerId
Określa tablicę identyfikatorów kontenerów. To polecenie cmdlet usuwa sesje dla każdego z określonych kontenerów. Użyj polecenia docker ps
, aby uzyskać listę identyfikatorów kontenerów. Aby uzyskać więcej informacji, zobacz pomoc dotyczącą polecenia docker ps.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Id
Określa tablicę identyfikatorów sesji. To polecenie cmdlet zamyka PSSessions z określonymi identyfikatorami.
Wpisz co najmniej jeden identyfikator, oddzielony przecinkami lub użyj operatora zakresu (..
), aby określić zakres identyfikatorów.
Identyfikator to liczba całkowita, która unikatowo identyfikuje PSSession w bieżącej sesji. Łatwiej jest zapamiętać i wpisać niż InstanceId, ale jest on unikatowy tylko w bieżącej sesji. Aby znaleźć identyfikator PSSession, uruchom polecenie cmdlet Get-PSSession
bez parametrów.
Typ: | Int32[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-InstanceId
Określa tablicę identyfikatorów wystąpień. To polecenie cmdlet zamyka PSSessions z określonymi identyfikatorami wystąpień.
Identyfikator wystąpienia to identyfikator GUID, który jednoznacznie identyfikuje 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źć InstanceId PSSessions w bieżącej sesji, wpisz Get-PSSession | Format-Table Name, ComputerName, InstanceId
.
Typ: | Guid[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa tablicę przyjaznych nazw sesji. To polecenie cmdlet zamyka PSSessions, które mają określone przyjazne nazwy. Dozwolone są symbole wieloznaczne.
Ponieważ przyjazna nazwa PSSession może nie być unikatowa, jeśli używasz parametru nazwa, rozważ również użycie parametru WhatIf lub Potwierdź parametru w poleceniu Remove-PSSession
.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | True |
-Session
Określa obiekty sesji PSSessions do zamknięcia. Wprowadź zmienną zawierającą PSSessions lub polecenie, które tworzy lub pobiera PSSessions, na przykład polecenie New-PSSession
lub Get-PSSession
. Możesz również przekazać potok co najmniej jeden obiekt sesji, aby Remove-PSSession
.
Typ: | PSSession[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | 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
Typ: | Guid[] |
Aliasy: | VMGuid |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | 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 polecenia cmdlet Get-VM
.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Do tego polecenia cmdlet można przekazać obiekt sesji.
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Uwagi
Program Windows PowerShell zawiera następujące aliasy dla Remove-PSSession
:
rsn
Parametr Id jest obowiązkowy. Aby usunąć wszystkie PSSessions w bieżącej sesji, wpisz
Get-PSSession | Remove-PSSession
.pssession używa trwałego połączenia z komputerem zdalnym. Utwórz PSSession, aby uruchomić serię poleceń, które udostępniają dane. Aby uzyskać więcej informacji, wpisz
Get-Help about_PSSessions
.PSSessions są specyficzne dla bieżącej sesji. Po zakończeniu sesji PSSessions utworzone w tej sesji są wymuszone zamknięte.