Поделиться через


Remove-PSSession

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

Синтаксис

Id (по умолчанию)

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

Session

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

ContainerId

Remove-PSSession
    -ContainerId <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

VMId

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

VMName

Remove-PSSession
    -VMName <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InstanceId

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

Name

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

ComputerName

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

Описание

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

Чтобы удалить PSSession, введите имя, имя компьютера, идентификатор или экземпляр сеанса.

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

Примеры

Пример 1. Удаление сеансов по идентификатору

Remove-PSSession -Id 1, 2

Эта команда удаляет PSSessions 2.

Пример 2. Удаление всех сеансов в текущем сеансе

Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s

Эти команды удаляют все PSSessions в текущей сессии. Хотя три формата команд выглядят разными, они имеют одинаковый эффект.

Пример 3. Закрытие сеансов по имени

$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession

Эти команды закрывают PSSessions, подключенные к компьютерам с именами, начинающимися с Serv.

Пример 4. Закрытие сеансов, подключенных к порту

Get-PSSession | where {$_.Port -eq 90} | Remove-PSSession

Эта команда закрывает PSSessions, подключенных к порту 90. Этот формат команды можно использовать для идентификации PSSessions по свойствам, отличным от имени компьютера, имени, экземпляра и идентификатора.

Пример 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
Remove-PSSession -InstanceId fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

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

Первая команда использует командлет Get-PSSession для получения PSSessions в текущем сеансе. Он использует оператор конвейера (|) для отправки PSSessionsFormat-Table командлету, который форматирует свойства ComputerName и InstanceId в таблице. Параметр autoSize сжимает столбцы для отображения.

В результирующем отображении можно определить , что PSSession будет закрыт, и скопировать и вставить InstanceId этой PSSession во вторую команду.

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

Пример 6. Создание функции, которая удаляет все сеансы в текущем сеансе

function EndPSS { Get-PSSession | Remove-PSSession }

Эта функция закрывает каждую PSSession в текущем сеансе. После добавления этой функции в ваш профиль PowerShell, чтобы удалить все сеансы, введите EndPSS.

Параметры

-ComputerName

Задает массив имен компьютеров. Этот командлет закрывает PSSessions, которые подключены к указанным компьютерам. Разрешено использование подстановочных символов.

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False
Aliases:CN

Наборы параметров

ComputerName
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Confirm

Запрашивает подтверждение перед запуском cmdlet.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ContainerId

Задает массив идентификаторов контейнеров. Этот командлет удаляет сеансы для каждого из указанных контейнеров. Используйте команду docker ps, чтобы получить список идентификаторов контейнеров. Дополнительные сведения см. в справке команды docker ps.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ContainerId
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Id

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

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

Свойства параметра

Тип:

Int32[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Id
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-InstanceId

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

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

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

Свойства параметра

Тип:

Guid[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

InstanceId
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Name

Задает массив понятных имен сеансов. Этот командлет закрывает PSSessions с указанными удобными именами. Разрешено использование подстановочных символов.

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

Name
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Session

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

Свойства параметра

Тип:

PSSession[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Session
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-VMId

Задает массив идентификаторов виртуальных машин. Этот командлет запускает интерактивный сеанс с каждой из указанных виртуальных машин. Чтобы просмотреть доступные виртуальные машины, используйте следующую команду:

Get-VM | Select-Object -Property Name, ID

Свойства параметра

Тип:

Guid[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:VMGuid

Наборы параметров

VMId
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-VMName

Задает массив имен виртуальных машин. Этот командлет запускает интерактивный сеанс с каждой из указанных виртуальных машин. Чтобы просмотреть доступные виртуальные машины, используйте командлет Get-VM.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

VMName
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-WhatIf

Показывает, что произойдет, если командлет будет запущен. Командлет не запускается.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

PSSession

Объект сеанса можно передать в этот командлет.

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

None

Этот командлет не возвращает выходные данные.

Примечания

PowerShell включает следующие псевдонимы для Remove-PSSession:

  • Все платформы:

    • rsn
  • Параметр id является обязательным. Чтобы в текущем сеансе удалить все PSSessions , введите Get-PSSession | Remove-PSSession.

  • PSSession использует постоянное подключение к удаленному компьютеру. Создайте PSSession для выполнения ряда команд, обменивающихся данными. Для получения дополнительной информации введите Get-Help about_PSSessions.

  • PSSessions относятся к текущему сеансу. После завершения сеанса PSSessions, созданные в этом сеансе, закрываются принудительно.