Получает сеансы Windows PowerShell (объекты PSSession) в текущем сеансе.

Синтаксис

Get-PSSession [[-ComputerName] <string[]>] [<CommonParameters>]

Get-PSSession [-Id] <Int32[]> [<CommonParameters>]

Get-PSSession [-InstanceId <Guid[]>] [<CommonParameters>]

Get-PSSession [-Name <string[]>] [<CommonParameters>]

Описание

Командлет Get-PSSession получает сеансы Windows PowerShell (объекты PSSession), созданные в текущем сеансе.

При вызове без параметров команда "Get-PSSession" получает все объекты PSSession, созданные в текущем сеансе. Параметры Get-PSSession можно использовать для получения сеансов, связанных с определенными компьютерами, или определения сеансов по их именам, идентификаторам или идентификаторам экземпляров.

Дополнительные сведения о сеансах Windows PowerShell см. в разделе "about_PSSessions".

Параметры

-ComputerName <string[]>

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

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

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

false

Позиция?

1

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

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

true (ByPropertyName)

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

true

-Id <Int32[]>

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

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

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

true

Позиция?

1

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

All sessions in the shell

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

true (ByPropertyName)

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

false

-InstanceId <Guid[]>

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

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

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

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

false

Позиция?

named

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

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

true (ByPropertyName)

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

true

-Name <string[]>

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

Чтобы определить имена сеансов PSSession в текущем сеансе, введите команду "get-pssession" без параметров.

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

false

Позиция?

named

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

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

true (ByPropertyName)

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

true

<CommonParameters>

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

Ввод и вывод

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

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

None

Передать входные данные этому командлету по конвейеру невозможно.

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

System.Management.Automation.Runspaces.PSSession

Командлет Get-PSSession возвращает объект PSSession для каждого получаемого сеанса PSSession.

Примечания

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

Пример 1

C:\PS>get-pssession

Description
-----------
Эта команда получает все объекты PSSession, созданные в текущем сеансе. 

Она не получает объекты PSSession, которые были созданы в других сеансах или на других компьютерах, даже если они подключены к этому компьютеру.






Пример 2

C:\PS>$s = get-pssession -computername Server02

Description
-----------
Эта команда получает объекты PSSession, которые связаны с компьютером Server02 и сохраняет их в переменной $p.






Пример 3

C:\PS>new-pssession -computername Server01, Server02, Server03

C:\PS> $s1, $s2, $s3 = get-pssession

Description
-----------
В этом примере показано, как сохранить результаты выполнения команды Get-PSSession в нескольких переменных. 

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

Вторая команда использует командлет Get-PSSession для получения трех объектов PSSession. Затем каждый из сеансов PSSession сохраняется в отдельную переменную.

Когда Windows PowerShell присваивает массив объектов массиву переменных, первый объект присваивается первой переменной, второй объект присваивается второй переменной и т. д. Если количество объектов превосходит количество переменных, все оставшиеся объекты присваиваются последней переменной в форме массива. Если количество переменных превышает количество объектов, лишние переменные не используются.






Пример 4

C:\PS>get-pssession | format-table -property computername, InstanceID

C:\PS> $s = get-pssession -InstanceID a786be29-a6bb-40da-80fb-782c67f7db0f

C:\PS> remove-pssession -session $s

Description
-----------
В этом примере показано, как получить сеанс PSSession с использованием идентификатора экземпляра, и затем удалить сеанс PSSession.

Первая команда получает все сеансы PSSession на локальном компьютере. Она отправляет сеансы PSSession командлету Format-Table, который отображает значения свойств ComputerName и InstanceID для каждого из сеансов PSSession.

Вторая команда использует командлет Get-PSSession для получения определенного сеанса PSSession и сохраняет его в переменной $s. Эта команда использует параметр InstanceID для определения сеанса PSSession.

Третья команда использует командлет Remove-PSSession для удаления сеанса PSSession, сохраненного в переменной $s.






Пример 5

C:\PS>get-pssession -computername Serv*

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






Пример 6

C:\PS>get-pssession -name Test*, Ux*

Description
-----------
Эта команда возвращает сеансы PSSession, имена которых начинаются на "Test" или "Ux".






Пример 7

C:\PS>get-pssession 2

Description
-----------
Эта команда получает сеанс PSSession с идентификатором, равным 2.






См. также