Remove-PSSession
Закрывает один или несколько сеансов PowerShell (PSSessions).
Синтаксис
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>]
Описание
Командлет Remove-PSSession закрывает сеансы PowerShell (PSSessions) в текущем сеансе. Он останавливает все команды, выполняемые в сеансах PSSession, завершает psSession и освобождает ресурсы, которые использовал psSession . Если PSSession подключен к удаленному компьютеру, этот командлет также закрывает подключение между локальным и удаленным компьютерами.
Чтобы удалить PSSession, введите имя, имя компьютера, идентификатор или идентификатор экземпляра сеанса.
Если вы сохранили PSSession в переменной, объект сеанса остается в переменной, но состояние PSSession — Closed.
Примеры
Пример 1. Удаление сеансов с помощью идентификаторов
Remove-PSSession -Id 1, 2
Эта команда удаляет psSessions с идентификаторами 1 и 2.
Пример 2. Удаление всех сеансов в текущем сеансе
Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s
Эти команды удаляют все сеансы PSSession в текущем сеансе. Хотя три формата команд отличаются, они действуют одинаково.
Пример 3. Закрытие сеансов с помощью имен
$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession
Эти команды закрывают сеансы PSSession , подключенные к компьютерам с именами, начинающимися с Serv.
Пример 4. Закрытие сеансов, подключенных к порту
Get-PSSession | where {$_.port -eq 90} | Remove-PSSession
Эта команда закрывает сеансы PSSession , подключенные к порту 90. Этот формат команды можно использовать для идентификации PSSessions по свойствам, отличным от ComputerName, Name, InstanceID и ID.
Пример 5. Закрытие сеанса на основе идентификатора экземпляра
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
Эти команды показывают, как закрыть PSSession на основе идентификатора экземпляра или RemoteRunspaceID.
Первая команда использует командлет Get-PSSession для получения сеансов PSSession в текущем сеансе. Он использует оператор конвейера (|) для отправки psSessions в командлет Format-Table, который форматирует свойства ComputerName и InstanceID в таблице. Параметр AutoSize сжимает столбцы для отображения.
На появившемся дисплее можно определить закрываемое psSession , а затем скопировать и вставить InstanceID этого psSession во вторую команду.
Вторая команда использует командлет Remove-PSSession , чтобы удалить psSession с указанным идентификатором экземпляра.
Пример 6. Create функции, которая удаляет все сеансы в текущем сеансе
Function EndPSS { Get-PSSession | Remove-PSSession }
Эта функция удаляет все сеансы PSSession в текущем сеансе.
После добавления этой функции в профиль PowerShell, чтобы удалить все сеансы, введите EndPSS
.
Параметры
-ComputerName
Задает массив имен компьютеров. Этот командлет закрывает сеансы PSSession , подключенные к указанным компьютерам. Можно использовать подстановочные знаки.
Введите имя NetBIOS, IP-адрес или полное доменное имя одного или нескольких удаленных компьютеров. Чтобы указать локальный компьютер, введите имя компьютера, localhost или точку (.).
Type: | String[] |
Aliases: | Cn |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Confirm
Запрос подтверждения перед выполнением командлета.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ContainerId
Указывает массив идентификаторов контейнеров. Этот командлет удаляет сеансы для каждого из указанных контейнеров. Используйте команду , docker ps
чтобы получить список идентификаторов контейнеров. Дополнительные сведения см. в справке по команде Docker ps .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Id
Указывает массив идентификаторов сеансов. Этот командлет закрывает сеансы PSSessions с указанными идентификаторами. Введите один или несколько идентификаторов, разделенных запятыми, или используйте оператор диапазона (..), чтобы указать диапазон идентификаторов.
Идентификатор — это целое число, которое однозначно идентифицирует PSSession в текущем сеансе. Его проще запомнить и ввести, чем InstanceId, но он уникален только в текущем сеансе. Чтобы найти идентификатор PSSession, выполните командлет Get-PSSession без параметров.
Type: | Int32[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InstanceId
Задает массив идентификаторов экземпляров. Этот командлет закрывает сеансы PSSession с указанными идентификаторами экземпляров.
Идентификатор экземпляра — это GUID, который однозначно идентифицирует PSSession в текущем сеансе. Идентификатор экземпляра уникален, даже если на одном компьютере выполняется несколько сеансов.
Идентификатор экземпляра хранится в свойстве InstanceID объекта, представляющего PSSession.
Чтобы найти InstanceIDpsSessions в текущем сеансе, введите 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
Задает массив понятных имен сеансов. Этот командлет закрывает сеансы PSSession с указанными понятными именами. Можно использовать подстановочные знаки.
Так как понятное имя PSSession может быть уникальным, при использовании параметра Name рекомендуется также использовать параметр WhatIf или Confirm в команде Remove-PSSession .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Session
Указывает объекты сеанса для закрываемых сеансов PSSessions . Введите переменную, содержащую psSessions , или команду, которая создает или получает psSessions, например команду New-PSSession или Get-PSSession . Вы также можете передать один или несколько объектов сеанса в Remove-PSSession.
Type: | PSSession[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMId
Указывает массив идентификаторов виртуальных машин. Этот командлет запускает интерактивный сеанс с каждой из указанных виртуальных машин. Чтобы просмотреть доступные виртуальные машины, используйте следующую команду:
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
Указывает массив имен виртуальных машин. Этот командлет запускает интерактивный сеанс с каждой из указанных виртуальных машин. Чтобы просмотреть доступные виртуальные машины, используйте командлет Get-VM .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Объект сеанса можно передать в этот командлет по конвейеру.
Выходные данные
None
Этот командлет не создает никаких объектов.
Примечания
- Параметр Id является обязательным. Чтобы удалить все сеансы PSSessions в текущем сеансе, введите
Get-PSSession | Remove-PSSession
. - PsSession использует постоянное подключение к удаленному компьютеру. Create PSSession для выполнения ряда команд, которые совместно используют данные. Для получения дополнительных сведений введите
Get-Help about_PSSessions
. - Сеансы PSSessions относятся к текущему сеансу. После завершения сеанса сеансы PSSessions , созданные в этом сеансе, принудительно закрываются.