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


New-PSWorkflowSession

Создает сеанс рабочего процесса.

Синтаксис

New-PSWorkflowSession
   [[-ComputerName] <String[]>]
   [-Credential <Object>]
   [-Name <String[]>]
   [-Port <Int32>]
   [-UseSSL]
   [-ApplicationName <String>]
   [-ThrottleLimit <Int32>]
   [-SessionOption <PSSessionOption>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-EnableNetworkAccess]
   [<CommonParameters>]

Описание

Командлет New-PSWorkflowSession создает управляемый пользователем сеанс (PSSession), который специально предназначен для выполнения рабочих процессов Windows PowerShell. Он использует конфигурацию сеанса Microsoft.PowerShell.Workflow , которая включает скрипты, файлы типа и форматирования и параметры, необходимые для рабочих процессов.

Вы можете использовать New-PSWorkflowSession или его псевдоним. nwsn

В эту команду также можно добавить общие параметры рабочих процессов. Дополнительные сведения о распространенных параметрах рабочего процесса см. в about_WorkflowCommonParameters

Этот командлет впервые появился в Windows PowerShell 3.0.

Примеры

Пример 1. Создание сеанса рабочего процесса на удаленном компьютере

В этом примере создается сеанс WorkflowTests на удаленном компьютере ServerNode01.

$params = @{
    ComputerName = "ServerNode01"
    Name = "WorkflowTests"
    SessionOption = (New-PSSessionOption -OutputBufferingMode Drop)
}
New-PSWorkflowSession @params

Значение параметра SessionOption — это New-PSSessionOption команда, которая задает режим буферизации выходных данных в сеансе значение Drop.

Пример 2. Создание сеансов рабочего процесса на нескольких удаленных компьютерах

В этом примере создаются сеансы рабочего процесса на компьютерах ServerNode01 и Server12. Команда использует параметр Credential для выполнения с правами администратора домена.

"ServerNode01", "Server12" |
    New-PSWorkflowSession -Name WorkflowSession -Credential Domain01\Admin01 -ThrottleLimit 150

Команда использует параметр ThrottleLimit для увеличения ограничения регулирования для каждой команды до 150. Это значение имеет приоритет над ограничением 100 регулирования по умолчанию, заданным в конфигурации сеанса Microsoft.PowerShell.Workflow .

Параметры

-ApplicationName

Определяет сегмент имени приложения в URI соединения.

Значение по умолчанию — это значение переменной $PSSessionApplicationName предпочтения на локальном компьютере. Если привилегированная переменная не определена, значение по умолчанию — WSMAN. Это значение подходит для большинства случаев Дополнительные сведения см. в about_Preference_Variables.

Служба удаленного управления Windows (WinRM) использует имя приложения для выбора прослушивателя для обслуживания запроса на подключение. Значение этого параметра должно совпадать со значением свойства URLPrefix прослушивателя на удаленном компьютере.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Authentication

Указывает механизм, используемый для проверки подлинности учетных данных пользователя. Допустимые значения для этого параметра:

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

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

Проверка подлинности CredSSP доступна только в Windows Vista, Windows Server 2008 и более поздних версиях операционной системы Windows.

Дополнительные сведения о значениях этого параметра см. в разделе "Перечисление AuthenticationMechanism".

Внимание

Проверка подлинности поставщика служб безопасности учетных данных (CredSSP), в которой учетные данные пользователя передаются на удаленный компьютер для проверки подлинности, предназначена для команд, требующих проверки подлинности на нескольких ресурсах, таких как доступ к удаленному сетевому ресурсу. Этот механизм повышает риск безопасности удаленной операции. Если удаленный компьютер скомпрометирован, учетные данные, передаваемые ему, могут использоваться для управления сетевым сеансом.

Тип:AuthenticationMechanism
Допустимые значения:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:Default
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-CertificateThumbprint

Задает цифровой сертификат с открытым ключом (X509) учетной записи пользователя, который располагает разрешением для выполнения этого действия. Введите отпечаток сертификата.

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

Чтобы получить отпечаток сертификата, используйте Get-Item командлет или Get-ChildItem командлет на диске Windows PowerShell Cert: .

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ComputerName

Создает постоянное подключение (PSSession) к указанному компьютеру. При вводе нескольких имен компьютеров Windows PowerShell создает несколько PSSessions, по одному для каждого компьютера. По умолчанию используется локальный компьютер.

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

Чтобы использовать IP-адрес в значении параметра ComputerName , команда должна включать параметр Credential . Кроме того, компьютер должен быть настроен для транспорта HTTPS или IP-адрес удаленного компьютера должен быть включен в список TrustedHosts службы WinRM на локальном компьютере. Инструкции по добавлению имени компьютера в список TrustedHosts см. в разделе "Добавление компьютера в список доверенных узлов" в about_Remote_Troubleshooting.

Тип:String[]
Aliases:Cn
Position:0
Default value:Local computer
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Credential

Указывает учетную запись пользователя с разрешением на выполнение этого действия. По умолчанию используется текущий пользователь. Введите имя пользователя, например , или введите объект PSCredential, например один, возвращенный командлетомGet-Credential.User@Domain.comDomain01\User01User01

При вводе имени пользователя этот командлет запрашивает пароль.

Тип:Object
Position:Named
Default value:Current user
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-EnableNetworkAccess

Указывает, что этот командлет добавляет интерактивный маркер безопасности в сеансы обратного цикла. Интерактивный маркер позволяет выполнять в петлевом сеансе команды, которые получают данные с других компьютеров. Например, можно выполнить команду в сеансе, который копирует XML-файлы с удаленного компьютера на локальный.

Сеанс обратного цикла — это сеанс PSSession , который возникает и заканчивается на том же компьютере. Чтобы создать сеанс обратного цикла, не укажите параметр ComputerName или задайте для нее значение dot (.), localhostили имя локального компьютера.

По умолчанию сеансы обратного цикла создаются с маркером сети, который может не предоставить достаточно разрешений для проверки подлинности на удаленных компьютерах.

Параметр EnableNetworkAccess действует только в петлевых сеансах. Если при создании сеанса на удаленном компьютере указать параметр EnableNetworkAccess , команда завершается успешно, но параметр игнорируется.

Удаленный доступ в петлевом сеансе также можно разрешить с помощью значения CredSSP параметра Authentication, который делегирует учетные данные сеанса на другие компьютеры.

Чтобы защитить компьютер от вредоносного доступа, отключенные сеансы цикла с интерактивными маркерами, созданные с помощью параметра EnableNetworkAccess , можно повторно подключиться только с компьютера, на котором был создан сеанс. Отключенные сеансы, использующие проверку подлинности CredSSP, можно повторно подключить с других компьютеров. Дополнительные сведения см. в командлете Disconnect-PSSession .

Этот параметр впервые появился в Windows PowerShell 3.0.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Name

Задает понятное имя для сеанса рабочего процесса. Имя можно использовать с другими командлетами, такими как Get-PSSession и Enter-PSSession. Имя не обязательно должно быть уникальным для компьютера или текущего сеанса.

Тип:String[]
Position:Named
Default value:Session#
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Port

Задает сетевой порт на удаленном компьютере, используемый для данного соединения. Для подключения к удаленному компьютеру требуется, чтобы он прослушивал порт, используемый соединением. По умолчанию используются 5985 порты (порт WinRM для HTTP) и 5986 (порт WinRM для HTTPS).

Перед использованием другого порта необходимо настроить прослушиватель WinRM на удаленном компьютере для прослушивания этого порта. Для настройки прослушивателя используйте следующие команды:

winrm delete winrm/config/listener?Address=*+Transport=HTTP

winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}

Не используйте параметр Port без крайней необходимости. Настройка порта в команде применяется ко всем компьютерам или сеансам, на которых выполняется команда. Альтернативный порт может помешать выполнению команды на всех компьютерах.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-SessionOption

Задает дополнительные параметры сеанса. Введите объект SessionOption, например объект, создаваемый с помощью командлетаNew-PSSessionOption.

Значения по умолчанию для параметров определяются значением переменной $PSSessionOption предпочтения, если она задана. В противном случае значения по умолчанию задаются параметрами, указанными в конфигурации сеанса.

Значения параметра сеанса имеют приоритет над значениями по умолчанию для сеансов, заданных в переменной $PSSessionOption предпочтения и в конфигурации сеанса. Однако они не имеют приоритет над максимальными значениями, квотами и ограничениями, заданными в конфигурации сеанса. Дополнительные сведения о конфигурациях сеансов см. в разделе about_Session_Configurations.

Описание параметров сеанса, включая значения по умолчанию, см. в разделе New-PSSessionOption. Сведения о переменной $PSSessionOption предпочтения см. в about_Preference_Variables.

Тип:PSSessionOption
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ThrottleLimit

Указывает максимальное число одновременных подключений, которые можно установить для запуска этой команды. Если этот параметр не указан или введите значение 0 (ноль), используется значение по умолчанию для конфигурации 100сеанса Microsoft.PowerShellWorkflow.

Предел регулирования применяется только к текущему командлету, а не к сеансу или компьютеру.

Тип:Int32
Position:Named
Default value:100
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-UseSSL

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

Протокол WS-Management шифрует все содержимое Windows PowerShell, передаваемое по сети. Параметр UseSSL — это дополнительная защита, которая отправляет данные через HTTPS-подключение вместо HTTP-подключения.

Если указать этот параметр, но SSL недоступен на порту, который используется для команды, команда завершается ошибкой.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

PSSession

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

String

Вы можете передать имя компьютера в этот командлет.

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

PSSession

Примечания

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

  • nwsn

Команда New-PSWorkflowSession эквивалентна следующей команде:

New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow