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


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. Команда использует параметр учетных данных для выполнения с разрешениями администратора домена.

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

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

Параметры

-ApplicationName

Указывает сегмент имени приложения URI подключения.

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

Служба 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-адрес удаленного компьютера должен быть включен в список WinRM TrustedHosts на локальном компьютере. Инструкции по добавлению имени компьютера в список TrustedHosts см. в разделе "Добавление компьютера в список доверенных узлов" в about_Remote_Troubleshooting.

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

-Credential

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

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

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

-EnableNetworkAccess

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

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

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

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

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

Чтобы защитить компьютер от вредоносного доступа, отключенные сеансы цикла с интерактивными маркерами, созданные с помощью параметра 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\>"}

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

Тип: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 (ноль), используется значение по умолчанию для конфигурации сеанса Microsoft.PowerShellWorkflow, 100.

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

Тип: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