Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Назначение: Windows PowerShell 3.0
РАЗДЕЛ
about_Remote_Disconnected_Session
КРАТКОЕ ОПИСАНИЕ
Объясняет, как отключиться и повторно подключиться к сеансу PSSession
ПОДРОБНОЕ ОПИСАНИЕ
Начиная с версии Windows PowerShell® 3.0, можно отключиться от сеанса PSSession и выполнить повторное подключение к PSSession позднее на том же или на другом компьютере. Состояние сеанса сохраняется, а команды в сеансе PSSession продолжают выполняться при отключенном сеансе.
Функция отключенных сеансов доступна только, если на компьютере на удаленном конце подключения работает версия Windows PowerShell 3.0 или более поздняя версия Windows PowerShell.
Функция отключенных сеансов позволяет закрыть сеанс, в котором был создан PSSession, а также закрыть Windows PowerShell и завершить работу компьютера, не прерывая команды, выполняющиеся в PSSession. Эта возможность особенно полезна в случае команд, для выполнения которых требуется много времени. Она предоставляет гибкость времени и устройств, необходимые ИТ-специалистам.
ПРИМЕЧАНИЕ. Нельзя отключаться от интерактивного сеанса, который был запущен с помощью командлета Enter-PSSession.
Отключенные сеансы можно использовать для управления сеансами PSSession, которые были непреднамеренно отключены в результате неисправности компьютера или сбоя сети.
В практическом использовании функция отключенных сеансов позволяет приступить к решению проблемы, переключить внимание на более приоритетные задачи и затем возобновить работу над решением. Все это можно выполнить даже находясь за другим компьютером в другом месте.
КОМАНДЛЕТЫ ОТКЛЮЧЕННОГО СЕАНСА
Следующие командлеты поддерживают функцию отключенных сеансов.
Disconnect-PSSession.
Отключает сеанс PSSession.
Connect-PSSession.
Подключается к отключенному сеансу PSSession.
Receive-PSSession.
Получает результаты команд, которые выполнялись в отключенных сеансах.
Get-PSSession.
Получает сеансы PSSession на локальных или удаленных компьютерах.
Invoke-Command.
Параметр InDisconnectedSession создает сеанс PSSession и сразу же отключается.
МЕХАНИЗМ РАБОТЫ ФУНКЦИИ ОТКЛЮЧЕННЫХ СЕАНСОВ
Начиная с версии Windows PowerShell 3.0, сеансы PSSession не зависят от сеансов, в которых они были созданы. Активные сеансы PSSession сохраняются на удаленном компьютере или серверной стороне соединения, даже если сеанс, в котором был создан PSSession, закрыт, а исходный компьютер был отключен.
В версии Windows PowerShell 2.0 сеанс PSSession удаляется из удаленного компьютера при отключении от исходного сеанса или по окончании сеанса, в котором он был создан.
При отключении сеанса PSSession, он остается активным и сохраняется на удаленном компьютере. Состояние сеанса изменяется с Running на Disconnected. Можно повторно подключиться к отключенному сеансу PSSession из текущего или из другого сеанса на том же или на другом компьютере. Удаленный компьютер, на котором хранится сеанс, должен быть запущен и подключен к сети.
Команды в отключенном сеансе PSSession по-прежнему будут работать бесперебойно на удаленном компьютере до выполнения команды или заполнения выходного буфера. Чтобы предотвратить заполнение выходного буфера от приостановки команды, используйте параметр OutputBufferingMode командлета Disconnect-PSSession, New-PSSessionOption или New-PSTransportOption.
Отключенные сеансы сохраняются на удаленном компьютере в отключенном состоянии. Они доступны для повторного подключения до удаления сеанса PSSession, например, с помощью командлета Remove-PSSession или по истечении времени ожидания простоя сеанса PSSession. Время ожидания простоя сеанса PSSession можно настроить с помощью параметров IdleTimeoutSec или IdleTimeout командлета Disconnect-PSSession, New-PSSessionOption или New-PSTransportOption.
Другой пользователь может подключиться к созданным вами сеансам PSSession, но только если возможно предоставить учетные данные, которые были использованы для создания сеанса, или использовать учетные данные запуска от имени конфигурации сеанса.
ПОЛУЧЕНИЕ СЕАНСОВ PSSESSION
Начиная с версии Windows PowerShell 3.0, командлет Get-PSSession получает сеансы PSSession на локальных и удаленных компьютерах. Кроме того, он может получать сеансы PSSession, которые были созданы в текущем сеансе.
Чтобы получить сеансы PSsession на локальных или удаленных компьютерах, используйте параметры ComputerName или ConnectionUri. При отсутствии параметров Get-PSSession получает сеанс PSSession, который был создан во время локального сеанса, независимо от того, где он был завершен.
При получении сеансов PSSession, не забудьте поискать их на компьютере, где они были сохранены, то есть, на удаленном или серверном компьютере.
Например, при создании сеанса PSSession на компьютере Server01 необходимо получить сеанс с компьютера Server01. При создании сеанса PSSession с другого компьютера на локальном компьютере, получите сеанс с локального компьютера.
Следующая последовательность команд демонстрирует работу командлета Get-PSSession.
Первая команда создает сеанс PSSession на компьютере Server01. Сеанс находится на компьютере Server01.
PS C:\ps-test> New-PSSession -ComputerName Server01
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 Server01 Opened Microsoft.PowerShell Available
Чтобы получить сеанс, используйте параметр ComputerName командлета Get-PSSession со значением Server01.
PS C:\ps-test> Get-PSSession -ComputerName Server01
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 Server01 Opened Microsoft.PowerShell Available
Если значение параметра ComputerName командлета Get-PSSession — localhost, Get-PSSession получает сеансы PSSession, которые завершаются и сохраняются на локальном компьютере. Он не получает сеансы PSSession на компьютере Server01, даже если они были запущены на локальном компьютере.
PS C:\ps-test> Get-PSSession -ComputerName localhost
PS C:\ps-test>
Чтобы получить сеансы, которые были созданы в текущем сеансе, необходимо использовать командлет Get-PSSession без параметров. Эта команда получает сеанс PSSession, который был создан в текущем сеансе и подключается к компьютеру Server01.
PS C:\ps-test> Get-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 Server01 Opened Microsoft.PowerShell Available
ОТКЛЮЧЕНИЕ СЕАНСОВ
Чтобы отключить сеанс PSSession, используйте командлет Disconnect-PSSession. Чтобы идентифицировать сеанс PSSession, используйте параметр Session или передайте сеанс PSSession из командлета New-PSSession или Get-PSSession в командлет Disconnect-PSSession.
Следующая команда отключает сеанс PSSession на компьютере Server01. Обратите внимание, что значение свойства State — Disconnected, а свойства Availability — None.
PS C:\> Get-PSSession -ComputerName Server01 | Disconnect-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 Server01 Disconnected Microsoft.PowerShell None
Чтобы создать отключенный сеанс, используйте параметр InDisconnectedSession командлета Invoke-Command. Он создает сеанс, запускает команду и сразу же отключается до того, как команда отправит какие-либо выходные данные в ответ.
Следующая команда запускает команду Get-WinEvent в отключенном сеансе на удаленном компьютере Server02.
PS C:\> Invoke-Command -ComputerName Server02 -InDisconnectedSession `
-ScriptBlock {Get-WinEvent -LogName "Windows PowerShell"}
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
4 Session3 Server02 Disconnected Microsoft.PowerShell None
ПОДКЛЮЧЕНИЕ К ОТКЛЮЧЕННЫМ СЕАНСАМ
Можно подключиться к любому доступному отключенному сеансу PSSession из сеанса, в котором был создан PSSession или из любых других сеансов на локальных или других компьютерах.
Можно создать сеанс PSSession, выполнять в нем команды, отключиться от него, закрыть Windows PowerShell и выключить компьютер. Через некоторое время можно включить другой компьютер, получить сеанс PSSession, подключиться к нему и получить результаты выполнения команд, которые выполнялись в сеансе PSSession, пока он был отключен. Затем в этом сеансе можно выполнить дополнительные команды.
Чтобы подключить отключенный сеанс PSSession, используйте командлет Connect-PSSession. Используйте параметры ComputerName или ConnectionUri для идентификации сеанса PSSession, или передайте сеанс PSSession из Get-PSSession в Connect-PSSession.
Следующая команда получает сеансы на компьютере Server02. Выходные данные содержат два отключенных сеанса, оба из которых доступны.
PS C:\> Get-PSSession -ComputerName Server02
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 juneb-srv8320 Disconnected Microsoft.PowerShell None
4 Session3 juneb-srv8320 Disconnected Microsoft.PowerShell None
Следующая команда подключается к Session2. Теперь сеанс PSSession открыт и доступен.
PS C:> Connect-PSSession -ComputerName Server02 -Name Session2
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 juneb-srv8320 Opened Microsoft.PowerShell Available
ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ
Чтобы получить результаты команд, которые выполнялись в отключенном сеансе PSSession, используйте командлет Receive-PSSession.
В дополнение к или вместо командлета Connect-PSSession можно использовать Receive-PSSession. Если сеанс уже подключен повторно, командлет Receive-PSSession получит результаты команд, которые выполнялись при отключенном сеансе. Если сеанс PSSession по прежнему отключен, командлет Receive-PSSession подключится к нему и затем получит результаты выполнения команд, которые выполнялись, пока сеанс был отключен.
С помощью командлета Receive-PSSession можно вернуть результаты в задание (асинхронно) или основную программу (синхронно). Чтобы выбрать Job (Задание) или Host (Хост), используйте параметр OutTarget. Host — это значение по умолчанию. Однако, если полученная команда была запущена в текущем сеансе в виде задания, она будет возвращена как задание по умолчанию.
Следующая команда использует командлет Receive-PSSession, чтобы подключиться к сеансу PSSession на компьютере Server02 и получить результаты выполнения команды Get-WinEvent, которая была запущена в сеансе Session3. Команда использует параметр OutTarget, чтобы получить результаты выполнения задания.
PS C:\> Receive-PSSession -ComputerName Server02 -Name Session3 -OutTarget Job
Id Name PSJobTypeName State HasMoreData Location
-- ---- ------------- ----- ----------- --------
3 Job3 RemoteJob Running True Server02
Чтобы получить результаты задания, используйте командлет Receive-Job.
PS C:\ps-test> Get-Job | Receive-Job -Keep
ProviderName: PowerShell
TimeCreated Id LevelDisplayName Message PSComputerName
----------- -- ---------------- ------- --------------
5/14/2012 7:26:04 PM 400 Information Engine stat Server02
5/14/2012 7:26:03 PM 600 Information Provider "W Server02
5/14/2012 7:26:03 PM 600 Information Provider "C Server02
5/14/2012 7:26:03 PM 600 Information Provider "V Server02
СОСТОЯНИЕ И ДОСТУПНОСТЬ
Свойства State (Состояние) и Availability (Доступность) отключенного сеанса PSSession указывают, доступен ли сеанс для повторного подключения к нему.
Во время подключения сеанса PSSession к текущему сеансу, его состояние будет Opened, а доступность — Available. При отключении от сеанса PSSession, его состояние будет Disconnected, а доступность — none.
Значение свойства State определяется текущим сеансом. Таким образом, значение Disconnected показывает, что сеанс PSSession не подключен к текущему сеансу. При этом оно не означает, что сеанс PSSession отключен от всех сеансов. Он может быть подключен к другому сеансу.
Свойство Availability позволяет определить возможность подключения или повторного подключения к сеансу PSSession. Если свойство Availability имеет значение None, подключиться к сеансу можно. Значение Busy показывает, что подключиться к сеансу PSSession нельзя, так как он уже подключен к другому сеансу.
Следующий пример — работа на одном компьютере в двух сеансах (окна консоли Windows PowerShell). Обратите внимание на изменение значения свойств State и Availability в каждом сеансе при отключении и повторном подключении сеанса PSSession.
#Session 1:
PS C:\> New-PSSession -ComputerName Server30 -Name Test
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Test Server30 Opened Microsoft.PowerShell Available
#Session 2:
PS C:\> Get-PSSession -ComputerName Server30 -Name Test
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Test Server30 Disconnected Microsoft.PowerShell Busy
#Session 1
PS C:\> Get-PSSession -ComputerName Server30 -Name Test | Disconnect-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Test Server30 Disconnected Microsoft.PowerShell None
#Session 2
PS C:\> Get-PSSession -ComputerName Server30
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Test Server30 Disconnected Microsoft.PowerShell None
#Session 2
PS C:\> Connect-PSSession -ComputerName Server01 -Name Test
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
3 Test Server30 Opened Microsoft.PowerShell Available
#Session 1
PS C:\> Get-PSSession -ComputerName Server30
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Test Server30 Disconnected Microsoft.PowerShell Busy
ВРЕМЯ ОЖИДАНИЯ ПРОСТОЯ
Отключенные сеансы сохраняются на удаленном компьютере до их удаления, например, при использовании командлета Remove-PSSession или по истечении времени ожидания. Свойство IdleTimeout сеанса PSSession определяет, как долго будет сохраняться отключенный сеанс перед удалением.
Сеансы PSSession бездействуют, если тактовые импульсы не получают ответ. Отключение сеанса переводит их в состояние бездействия и запускает отсчет времени ожидания простоя, даже если команды по-прежнему выполняются в отключенном сеансе. Windows PowerShell определяет отключенные сеансы как активные, но в состоянии бездействия.
При создании и отключении сеансов убедитесь, что времени ожидания простоя в сеансе PSSession достаточно для поддержания сеанса в состоянии готовности к использованию, но не настолько много, чтобы потреблять излишние ресурсы удаленного компьютера.
Свойство IdleTimeoutMs конфигурации сеанса определяет время ожидания простоя по умолчанию для сеансов, использующих конфигурации сеанса. Значение по умолчанию можно переопределить, но оно не должно превышать значение свойства MaxIdleTimeoutMs конфигурации сеанса.
Для поиска значений для IdleTimeoutMs и MaxIdleTimeoutMs конфигурации сеанса используйте следующий формат команды.
Get-PSSessionConfiguration | Format-Table Name, IdleTimeoutMs, MaxIdleTimeoutMs
Значение по умолчанию в конфигурации сеанса можно переопределить и задать время ожидания простоя сеанса PSSession при создании PSSession и во время отключения.
Если вы — член группы администраторов на удаленном компьютере, вы также можете создавать и изменять свойства IdleTimeoutMs и MaxIdleTimeoutMs конфигураций сеанса.
ПРИМЕЧАНИЯ:
Значение времени ожидания простоя конфигураций сеанса и параметры сеанса измеряются в миллисекундах. Значения времени ожидания простоя сеансов и параметров конфигурации сеанса измеряются в секундах.
Можно задать время ожидания простоя сеанса PSSession при создании PSSession (New-PSSession, Invoke-Command) и при отключении от него (Disconnect-PSSession). Однако нельзя изменить значение IdleTimeout при подключении к сеансу PSSession (Connect-PSSession) или получении результатов (Receive-PSSession).
Командлеты Connect-PSSession и Receive-PSSession имеют параметр SessionOption, который принимает объект SessionOption, например параметр, который командлет New-PSSessionOption присылает в ответ. Однако значение IdleTimeout в объекте SessionOption и значение IdleTimeout в переменной $PSSessionOption не влияют на значение IdleTimeout сеанса PSSession в команде Connect-PSSession или Receive-PSSession.
-- Чтобы создать сеанс PSSession со значением конкретного времени ожидания простоя, создайте переменную $PSSessionOption. Задайте нужное значение для свойства IdleTimeout (в миллисекундах).
При создании сеансов PSSession значения в переменной $PSSessionOption имеют приоритет над значениями в конфигурации сеанса.
Например, эта команда задает значение время ожидания простоя в 48 часов. Вставьте текст раздела здесь.
PS C:\> $PSSessionOption = New-PSSessionOption -IdleTimeoutMSec 172800000
-- Чтобы создать сеанс PSSession со значением конкретного времени ожидания простоя, используйте параметр IdleTimeoutMSec командлета New-PSSessionOption. Затем используйте параметр сеанса в качестве значения параметра SessionOption командлета New-PSSession или Invoke-Command.
Заданные при создании сеанса значения имеют приоритет над значениями, заданными в переменной $PSSessionOption и конфигурации сеанса.
Например:
PS C:\> $o = New-PSSessionOption -IdleTimeoutMSec 172800000
PS C:\> New-PSSession -SessionOption $o
-- Чтобы изменить время ожидания простоя сеанса PSSession при отключении, используйте параметр IdleTimeoutSec командлета Disconnect-PSSession.
Например:
PS C:\> Disconnect-PSSession -IdleTimeoutSec 172800
-- Чтобы создать конфигурацию сеанса с определенным временем ожидания простоя и максимальным временем ожидания простоя, используйте параметры IdleTimeoutSec и MaxIdleTimeoutSec командлета New-PSTransportOption. Затем используйте параметр транспорта в значении параметра TransportOption в Register-PSSessionConfiguration.
Например:
PS C:\> $o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
PS C:\> Register-PSSessionConfiguration -Name Test -TransportOption $o
-- Чтобы изменить время ожидания простоя по умолчанию и максимальное время ожидания простоя для конфигурации сеанса, используйте параметры IdleTimeoutSec и MaxIdleTimeoutSec командлета New-PSTransportOption. Затем используйте параметр транспорта в значении параметра TransportOption в Set-PSSessionConfiguration.
Например:
PS C:\> $o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
PS C:\> Set-PSSessionConfiguration -Name Test -TransportOption $o
РЕЖИМ БУФЕРИЗАЦИИ НА ВЫХОДЕ
Режим буферизации на выходе сеанса PSSession определяет управление выходным потоком команд при заполнении выходного буфера сеанса PSSession.
При отключенном сеансе режим буферизации на выходе определяет, продолжает ли команда работать.
Допустимые значения:
-- Block: When the output buffer is full, execution is suspended
until the buffer is clear.
-- Drop: When the output buffer is full, execution continues.
As new output is generated, the oldest output is
discarded.
Значение по умолчанию для блока сохраняет данные, но может прервать выполнение команды
Значение Drop позволяет завершить выполнение команды, несмотря на возможную потерю данных. При использовании значения Drop выходные данные команды необходимо перенаправить в какой-либо файл на диске. Это значение рекомендуется для отключенных сеансов.
Свойство OutputBufferingMode конфигурации сеанса определяет режим буферизации на выходе по умолчанию для сеансов, использующих конфигурации сеанса.
Для поиска значений OutputBufferingMode конфигурации сеанса, используйте следующий формат команды.
(Get-PSSessionConfiguration <ConfigurationName>).OutputBufferingMode
-or-
Get-PSSessionConfiguration | Format-Table Name, OutputBufferingMode
Значение по умолчанию в конфигурации сеанса можно переопределить и установить режим буферизации на выходе для сеанса PSSession при создании PSSession, во время отключения и при повторном подключении.
Если вы — член группы администраторов на удаленном компьютере, вы также можете создавать и изменять режим буферизации на выходе для конфигураций сеанса.
-- Чтобы создать сеанс PSSession с режимом буферизации на выходе Drop, создайте переменную $PSSessionOption со значением свойства OutputBufferingMode — Drop.
При создании сеансов PSSession значения в переменной $PSSessionOption имеют приоритет над значениями в конфигурации сеанса.
Например:
PS C:\> $PSSessionOption = New-PSSessionOption -OutputBufferingMode Drop
-- Чтобы создать сеанс PSSession с режимом буферизации на выходе Drop, используйте параметр OutputBufferingMode командлета New-PSSessionOption для создания параметра сеанса со значением Drop. Затем используйте параметр сеанса в качестве значения параметра SessionOption командлета New-PSSession или Invoke-Command.
Заданные при создании сеанса значения имеют приоритет над значениями, заданными в переменной $PSSessionOption и конфигурации сеанса.
Например:
PS C:\> $o = New-PSSessionOption -OutputBufferingMode Drop
PS C:\> New-PSSession -SessionOption $o
-- Чтобы изменить режим буферизации на выходе сеанса PSSession при отключении, используйте параметр OutputBufferingMode командлета Disconnect-PSSession.
Например:
PS C:\> Disconnect-PSSession -OutputBufferingMode Drop
-- Чтобы изменить режим буферизации на выходе сеанса PSSession при повторном подключении, используйте параметр OutputBufferingMode командлета New-PSSessionOption для создания параметра сеанса со значением Drop. Затем используйте параметр сеанса в качестве значения параметра SessionOption командлета Connect-PSSession или Receive-PSSession.
Например:
PS C:\> $o = New-PSSessionOption -OutputBufferingMode Drop
PS C:\> Connect-PSSession -Cn Server01 -Name Test -SessionOption $o
-- Чтобы создать конфигурацию сеанса с режимом буферизации на выходе по умолчанию Drop, используйте параметр OutputBufferingMode командлета New-PSTransportOption для создания объекта параметра транспорта со значением Drop. Затем используйте параметр транспорта в значении параметра TransportOption в Register-PSSessionConfiguration.
Например:
PS C:\> $o = New-PSTransportOption -OutputBufferingMode Drop PS C:\> Register-PSSessionConfiguration -Name Test -TransportOption $o
-- Чтобы изменить режим буферизации на выходе сеанса по умолчанию для конфигурации сеанса, используйте параметр OutputBufferingMode командлета New-PSTransportOption для создания параметра транспорта со значением Drop. Затем используйте параметр Transport в значении параметра SessionOption в Set-PSSessionConfiguration.
Например:
PS C:\> $o = New-PSTransportOption -OutputBufferingMode Drop
PS C:\> Set-PSSessionConfiguration -Name Test -TransportOption $o
ОТКЛЮЧЕНИЕ СЕАНСОВ ЗАМЫКАНИЯ НА СЕБЯ
"Сеансы замыкания на себя" или "локальные сеансы" — это сеансы PSSession, которые создаются и завершаются на одном компьютере. Подобно другим сеансам PSSession, активные сеансы замыкания на себя сохраняются на компьютере, находящемся на удаленном конце подключения (локальный компьютер), поэтому можно отключиться и повторно подключиться к сеансам замыкания на себя.
По умолчанию сеансы замыкания на себя создаются с маркером сетевой безопасности, который не допускает выполнения команд в сеансе для доступа к другим компьютерам. Можно повторно подключиться к сеансам замыкания на себя, имеющим маркер сетевой безопасности из любого сеанса на локальном или удаленном компьютере.
Однако при использовании параметра EnableNetworkAccess командлета New-PSSession, Enter-PSSession или Invoke-Command, сеанс замыкания на себя создается с интерактивным маркером безопасности. Интерактивный маркер позволяет выполнять в сеансе замыкания на себя команды, которые получают данные с других компьютеров.
С помощью интерактивных маркеров можно отключить сеансы замыкания на себя и снова подключиться из того же или другого сеанса на одном компьютере. Тем не менее, для предотвращения вредоносного доступа можно повторно подключиться к сеансам замыкания на себя с помощью интерактивных маркеров только с того компьютера, на котором они были созданы.
ОЖИДАНИЕ ЗАДАНИЙ В ОТКЛЮЧЕННЫХ СЕАНСАХ
Командлет Wait-Job ожидает, пока задание будет выполнено и возвращается в командную строку или переходит к следующей команде. По умолчанию Wait-Job приходит в ответ при отключении сеанса, в котором выполняется задание. Чтобы направить командлет Wait-Job для ожидания повторного подключения сеанса (в состоянии Opened), используйте параметр Force. Дополнительные сведения см. в разделе Wait-Job.
НАДЕЖНЫЕ СЕАНСЫ И НЕПРЕДНАМЕРЕННОЕ ОТКЛЮЧЕНИЕ
Сеанс PSSession иногда может отключаться непреднамеренно в связи со сбоем в работе компьютера или выходом из строя сети. Windows PowerShell совершает попытку восстановить сеанс, но успешность ее завершения зависит от сложности и длительности воздействия причины.
Состояние непреднамеренно отключенного сеанса PSSession может быть Broken, Closed, а также Disconnected. При значении состояния Disconnected, можно использовать те же способы для управления сеансом PSSession, как если бы сеанс был отключен намеренно. Например, можно использовать командлет Connect-PSSession, чтобы выполнить повторное подключение к сеансу и командлет Receive-PSSession для получения результатов команд, которые выполнялись в то время, когда сеанс был отключен.
Если закрыть сеанс (выйти), в котором был создан сеанс PSSession во время выполнения команд в PSSession, Windows PowerShell будет поддерживать PSSession в состоянии Disconnected на удаленном компьютере. Если закрыть сеанс (выйти), в котором был создан сеанс PSSession, но команды в PSSession не работают, Windows PowerShell не будет пытаться поддерживать работу сеанса PSSession.
КЛЮЧЕВЫЕ СЛОВА
about_Disconnected_Sessions
СМ. ТАКЖЕ
about_Jobs
about_Remote
about_Remote_Variables
about_PSSessions
about_Session_Configurations
Disconnect-PSSession
Connect-PSSession
Get-PSSession
Receive-PSSession
Invoke-Command