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 |
Входные данные
Сеанс можно передать в этот командлет.
Вы можете передать имя компьютера в этот командлет.
Выходные данные
Примечания
Windows PowerShell включает следующие псевдонимы для New-PSWorkflowSession
:
nwsn
Команда New-PSWorkflowSession
эквивалентна следующей команде:
New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow