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 usługach PSSessions, kończą program PSSession i zwalniają zasoby używane przez usługę 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ąć serwer PSSession, wprowadź nazwę, nazwę komputera, identyfikator lub identyfikatorwystą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 PSSession, 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 polecenia PSSessions w bieżącej sesji. Chociaż trzy formaty poleceń wyglądają inaczej, mają ten 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 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ąć usługę PSSession na podstawie identyfikatora wystąpienia lub identyfikatora RemoteRunspaceID.
Pierwsze polecenie używa Get-PSSession
polecenia cmdlet, aby pobrać pliki 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świetlenia.
Na wyświetlonym ekranie można zidentyfikować ciąg PSSession do zamknięcia, a następnie skopiować i wkleić identyfikator InstanceID tego polecenia PSSession .
Drugie polecenie używa Remove-PSSession
polecenia cmdlet, aby usunąć usługę PSSession z określonym identyfikatorem wystąpienia.
Przykład 6: Twórca 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 moduły PSSessions 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, 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 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 usługę 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 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 identyfikatory PSSessions , które mają określone identyfikatory wystąpień.
Identyfikator wystąpienia jest identyfikatorem GUID, który jednoznacznie identyfikuje usługę 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 usługę 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 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 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ą pliki PSSessions lub polecenie, które tworzy lub pobiera pliki PSSessions, takie jak New-PSSession
polecenie lub .Get-PSSession
Można również przekazać potok do co najmniej jednego obiektu 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 sesję interaktywną 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 sesję interaktywną 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
Obiekt sesji można przekazać do tego polecenia cmdlet.
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Uwagi
Program PowerShell zawiera następujące aliasy dla Remove-PSSession
programu :
Wszystkie platformy:
rsn
Parametr Id jest obowiązkowy. Aby usunąć wszystkie pliki PSSessions w bieżącej sesji, wpisz
Get-PSSession | Remove-PSSession
.Usługa PSSession używa trwałego połączenia z komputerem zdalnym. Twórca psSession, aby uruchomić serię poleceń, które udostępniają dane. Aby uzyskać więcej informacji, wpisz polecenie
Get-Help about_PSSessions
.Sesje PSSessions są specyficzne dla bieżącej sesji. Po zakończeniu sesji program PSSessions utworzony w tej sesji zostanie wymuszonie zamknięty.