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
-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 przy użyciu identyfikatorów
Remove-PSSession -Id 1, 2
To polecenie usuwa 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 PSSessions w bieżącej sesji. Mimo że trzy formaty poleceń wyglądają inaczej, mają taki sam efekt.
Przykład 3. Zamykanie sesji przy użyciu nazw
$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 na podstawie 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 PS C:\> 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 właściwości ComputerName i InstanceID w tabeli. Parametr autosize kompresuje kolumny do wyświetlenia.
Z wyświetlonego ekranu można zidentyfikować
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 usuwa wszystkie pssessions 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 |
-Id
Określa tablicę identyfikatorów sesji. To polecenie cmdlet zamyka 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 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 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
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ą
Typ: | PSSession[] |
Position: | 0 |
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 obiektów.
Uwagi
- 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.