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 uruchomione w programie PSSessions, kończą program PSSession i zwalniają zasoby używane przez program 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 plik PSSession w zmiennej, obiekt sesji pozostaje w zmiennej, ale stan sesji 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ą polecenia 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. Tego formatu polecenia można użyć do identyfikowania 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ąć pssession na podstawie identyfikatora wystąpienia lub RemoteRunspaceID.
Pierwsze polecenie używa Get-PSSession
polecenia cmdlet do pobrania psSessions w bieżącej sesji.
Używa operatora potoku (|
) do wysyłania 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świetlania.
Z wyświetlonego ekranu można zidentyfikować pssession do zamknięcia, a następnie skopiować i wkleić identyfikator InstanceID tego psSession do drugiego polecenia.
Drugie polecenie używa Remove-PSSession
polecenia cmdlet do usunięcia 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 jednego lub kilku komputerów zdalnych. Aby określić komputer lokalny, wpisz nazwę komputera, localhost
lub 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. Użyj polecenia , docker ps
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 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ć identyfikator InstanceId, ale jest on unikatowy tylko w bieżącej sesji. Aby znaleźć identyfikator pssession, uruchom polecenie Get-PSSession
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 psSessions , które mają określone identyfikatory wystąpień.
Identyfikator wystąpienia jest identyfikatorem 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źć Identyfikator wystąpieniapsSessions 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 pssesje , 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 Name, rozważ 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ą pssessions lub polecenie, które tworzy lub pobiera psSessions, takie jak New-PSSession
polecenie lub Get-PSSession
. Można również przekazać potok co najmniej jeden obiekt sesji do Remove-PSSession
obiektu .
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
Do tego polecenia cmdlet można przekazać obiekt sesji.
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Uwagi
Program PowerShell zawiera następujące aliasy dla programu Remove-PSSession
:
Wszystkie platformy:
rsn
Parametr Id jest obowiązkowy. Aby usunąć wszystkie sesje PSSessions w bieżącej sesji, wpisz
Get-PSSession | Remove-PSSession
.Usługa 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
Get-Help about_PSSessions
.Sesje PSSessions są specyficzne dla bieżącej sesji. Po zakończeniu sesji sesja sesji sesja psSessions , które zostały utworzone w tej sesji, są wymuszone zamknięte.
Linki powiązane
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla