Закрывает один или несколько сеансов Windows PowerShell (PSSession).

Синтаксис

Remove-PSSession [[-ComputerName] <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-PSSession [-Id] <Int32[]> [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-PSSession [-InstanceId <Guid[]>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-PSSession [-Name <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-PSSession [-Session] <PSSession[]> [-Confirm] [-WhatIf] [<CommonParameters>]

Описание

Командлет Remove-PSSession закрывает сеансы Windows PowerShell (PSSession) в текущем сеансе. Он останавливает все команды, выполняющиеся в сеансах PSSession, закрывает сеанс PSSession и освобождает ресурсы, используемые таким сеансом. Если сеанс PSSession подключен к удаленному компьютеру, командлет Remove-PSSession также закрывает подключение между локальным и удаленным компьютерами.

Чтобы удалить сеанс PSSession, введите имя сеанса, имя компьютера, идентификатор или идентификатор экземпляра сеанса (параметр Name, ComputerName, ID или InstanceID соответственно),

Если сеанс PSSession сохранен в переменной, объект сеанса остается в переменной, но состояние сеанса изменяется на "Closed".

Параметры

-ComputerName <string[]>

Закрывает сеансы PSSession, связанные с указанными компьютерами. Подстановочные знаки разрешены.

Введите имя NetBIOS, IP-адрес или полное доменное имя одного или нескольких удаленных компьютеров. Чтобы указать локальный компьютер, введите имя компьютера, "localhost" или точку (.).

Обязательно?

false

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

true

-Id <Int32[]>

Закрывает сеансы PSSession с указанными идентификаторами. Введите один или несколько идентификаторов (разделенных запятыми) или используйте оператор диапазона (..), чтобы задать диапазон идентификаторов.

Идентификатор — это целое значение, которое однозначно определяет сеанс PSSession в пределах текущего сеанса. Это значение проще запомнить и ввести, чем InstanceId, но оно уникально только в рамках текущего сеанса. Чтобы определить идентификатор сеанса PSSession, используйте команду Get-PSSession без параметров.

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-InstanceId <Guid[]>

Закрывает сеансы PSSession с указанными идентификаторами экземпляров.

Идентификатор экземпляра — это GUID, который однозначно определяет сеанс PSSession в пределах текущего сеанса. Идентификатор InstanceID является уникальным даже при выполнении нескольких сеансов на одном компьютере.

Идентификатор экземпляра InstanceID хранится в свойстве InstanceID объекта, представляющего сеанс PSSession. Чтобы определить идентификаторы экземпляров InstanceID сеансов PSSession в текущем сеансе, введите команду "Get-PSSession | Format-Table Name, ComputerName, InstanceId".

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-Name <string[]>

Закрывает сеансы PSSession с указанными понятными именами. Подстановочные знаки разрешены.

Поскольку понятное имя сеанса PSSession может быть не уникальным, при использовании параметра Name следует рассмотреть возможность использования параметра WhatIf или Confirm в команде Remove-PSSession.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

true

-Session <PSSession[]>

Указывает объекты сеансов PSSession, которые требуется закрыть. Введите переменную, содержащую объекты PSSession, либо команду, создающую или получающую объекты PSSession, например New-PSSession или Get-PSSession. Кроме того, можно передать один или несколько объектов сеансов в Remove-PSSession по конвейеру.

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue, ByPropertyName)

Принимать подстановочные знаки?

false

-Confirm

Запрашивает подтверждение перед выполнением команды.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-WhatIf

Описывает, что произойдет при выполнении команды, без ее фактического выполнения.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.

Входные данные

System.Management.Automation.Runspaces.PSSession

Можно передать объект сеанса командлету Remove-PSSession по конвейеру.

Выходные данные

Нет

Командлет Remove-PSSession не возвращает никаких объектов.

Примечания

Параметр ID является обязательным. Нельзя вводить команду remove-pssession без параметров. Чтобы удалить все сеансы PSSession в текущем сеансе, введите команду "Get-PSSession | remove-pssession".

В сеансе PSSession используется постоянное подключение к удаленному компьютеру. Сеанс PSSession следует создать для выполнения последовательности команд, работающих с общими данными. Дополнительные сведения см. в разделе about_PSSessions.

Сеансы PSSession относятся к текущему сеансу. При закрытии сеанса созданные в нем сеансы PSSession принудительно закрываются.

Пример 1

C:\PS>remove-pssession -id 1, 2

Описание
-----------
Эта команда удаляет сеансы PSSession с идентификаторами "1" и "2".






Пример 2

C:\PS>get-pssession | remove-pssession 

C:\PS> remove-pssession -session (get-pssession)

C:\PS> $s = get-pssession 
C:\PS> remove-pssession -session $s".

Описание
-----------
Эти команды удаляют все сеансы PSSession в текущем сеансе. Несмотря на то что три команды имеют различный формат, они выполняют одни и те же действия.






Пример 3

C:\PS>$r = get-pssession -computername Serv*

$r | remove-pssession

Описание
-----------
Эти команды закрывают сеансы PSSession, связанные с компьютерами, имена которых начинаются на "Serv".






Пример 4

C:\PS>get-pssession | where {$_.port -eq 90} | remove-pssession

Описание
-----------
Эта команда закрывает сеансы PSSession, подключенные к порту 90. С помощью этого формата команды можно задать сеансы PSSession, используя свойства, отличные от ComputerName, Name, InstanceID и ID.






Пример 5

C:\PS>get-pssession | ft computername, instanceID  -auto

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

C:\PS> remove-pssession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

Описание
-----------
Эти команды закрывают сеанс PSSession, используя его идентификатор экземпляра (RemoteRunspaceID). 

Первая команда получает сведения о сеансах PSSession в текущем сеансе с использованием командлета Get-PSsession. С помощью оператора конвейера (|) сеансы PSSession передаются командлету Format-Table (псевдоним: ft), который форматирует их свойства ComputerName и InstanceID в виде таблицы. Параметр AutoSize ("auto") сжимает столбцы при отображении.

В отображаемых результатах можно найти сеанс PSSession, который требуется закрыть, а затем скопировать и вставить его свойство InstanceID во вторую команду. 

Вторая команда использует командлет Remove-PSSession для удаления сеанса PSSession с указанным идентификатором экземпляра.






Пример 6

C:\PS>function EndPSS { get-pssession | remove-pssession }

Описание
-----------
Эта функция удаляет все сеансы PSSession в текущем сеансе. После добавления этой функции в профиль Windows PowerShell для удаления всех сеансов достаточно будет ввести "endpss".






См. также




Содержание