Бөлісу құралы:


PowerShellOnTargetMachines@3 — задача PowerShell на целевых компьютерах версии 3

Используйте эту задачу для выполнения скриптов PowerShell на удаленных компьютерах с помощью PSSession и Invoke-Command для удаленного взаимодействия.

Используйте эту задачу для выполнения скриптов PowerShell на удаленных компьютерах. Эта версия задачи использует PSSession и Invoke-Command для удаленного взаимодействия.

Синтаксис

# PowerShell on target machines v3
# Execute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting.
- task: PowerShellOnTargetMachines@3
  inputs:
    Machines: # string. Required. Machines. 
    #UserName: # string. Username. 
    #UserPassword: # string. Password. 
  # Script options
    #ScriptType: 'Inline' # 'FilePath' | 'Inline'. Script Type. Default: Inline.
    #ScriptPath: # string. Required when ScriptType = FilePath. Script File Path. 
    InlineScript: # string. Required when ScriptType = Inline. Script. 
    #ScriptArguments: # string. Optional. Use when ScriptType = FilePath. Script Arguments. 
    #InitializationScript: # string. Optional. Use when ScriptType = FilePath. Initialization script. 
    #SessionVariables: # string. Optional. Use when ScriptType = FilePath. Session Variables. 
  # PSSession options
    #CommunicationProtocol: 'Https' # 'Http' | 'Https'. Protocol. Default: Https.
    #AuthenticationMechanism: 'Default' # 'Default' | 'Credssp'. Authentication. Default: Default.
    #NewPsSessionOptionArguments: '-SkipCACheck -IdleTimeout 7200000 -OperationTimeout 0 -OutputBufferingMode Block' # string. Session Option parameters. Default: -SkipCACheck -IdleTimeout 7200000 -OperationTimeout 0 -OutputBufferingMode Block.
  # Error handling options
    #ErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. ErrorActionPreference. Default: stop.
    #failOnStderr: false # boolean. Fail on Standard Error. Default: false.
    #ignoreLASTEXITCODE: false # boolean. Ignore $LASTEXITCODE. Default: false.
  # Advanced
    #WorkingDirectory: # string. Working Directory. 
    #RunPowershellInParallel: true # boolean. Run PowerShell in Parallel. Default: true.
# PowerShell on Target Machines v3
# Execute PowerShell scripts on remote machine(s). This version of the task uses PSSession and Invoke-Command for remoting.
- task: PowerShellOnTargetMachines@3
  inputs:
    Machines: # string. Required. Machines. 
    #UserName: # string. Username. 
    #UserPassword: # string. Password. 
  # Script options
    #ScriptType: 'Inline' # 'FilePath' | 'Inline'. Script Type. Default: Inline.
    #ScriptPath: # string. Required when ScriptType = FilePath. Script File Path. 
    InlineScript: # string. Required when ScriptType = Inline. Script. 
    #ScriptArguments: # string. Optional. Use when ScriptType = FilePath. Script Arguments. 
    #InitializationScript: # string. Optional. Use when ScriptType = FilePath. Initialization script. 
    #SessionVariables: # string. Optional. Use when ScriptType = FilePath. Session Variables. 
  # PSSession options
    #CommunicationProtocol: 'Https' # 'Http' | 'Https'. Protocol. Default: Https.
    #AuthenticationMechanism: 'Default' # 'Default' | 'Credssp'. Authentication. Default: Default.
    #NewPsSessionOptionArguments: '-SkipCACheck -IdleTimeout 7200000 -OperationTimeout 0 -OutputBufferingMode Block' # string. Session Option parameters. Default: -SkipCACheck -IdleTimeout 7200000 -OperationTimeout 0 -OutputBufferingMode Block.
  # Error handling options
    #ErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. ErrorActionPreference. Default: stop.
    #failOnStderr: false # boolean. Fail on Standard Error. Default: false.
    #ignoreLASTEXITCODE: false # boolean. Ignore $LASTEXITCODE. Default: false.
  # Advanced
    #WorkingDirectory: # string. Working Directory. 
    #RunPowershellInParallel: true # boolean. Run PowerShell in Parallel. Default: true.

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

Machines - Машины
string. Обязательный.

Указывает разделенный запятыми список полных доменных имен компьютеров или IP-адресов и при необходимости включает номер порта. Возможны следующие варианты:

  • Имя группы ресурсов Azure.
  • Список имен компьютеров с разделителями-запятыми. Например, dbserver.fabrikam.com,dbserver_int.fabrikam.com:5986,192.168.34:5986.
  • Выходная переменная из предыдущей задачи.

Если не указать порт, используется порт WinRM по умолчанию. Это зависит от настроенного протокола. Для WinRM 2.0 http-портом по умолчанию является 5985 , а портОМ HTTPS по умолчанию является 5986.


UserName - Пользователя
string.

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

  • Поддерживаются такие форматы, как username, domain\username, machine-name\usernameи .\username .
  • Форматы имени участника-пользователя, такие как username@domain.com и встроенные системные учетные записи, такие как NT Authority\System , не поддерживаются.

UserPassword - Пароль
string.

Указывает пароль для целевых компьютеров. Переменные, определенные в определениях сборки и выпуска как $(passwordVariable) принятые. Вы можете пометить тип переменной как secret , чтобы защитить его.


ScriptType - Тип скрипта
string. Допустимые значения: FilePath (Путь к файлу), Inline. Значение по умолчанию: Inline.

Указывает тип выполняемого скрипта: Встроенный или Путь к файлу.


ScriptPath - Путь к файлу скрипта
string. Требуется при .ScriptType = FilePath

Указывает расположение скрипта PowerShell на целевых компьютерах или по пути UNC, например C:\BudgetIT\Web\Deploy\Website.ps1, который должен быть доступен с целевого компьютера.


InlineScript - Сценарий
string. Требуется при .ScriptType = Inline Значение по умолчанию: # Write your powershell commands here.\n\nWrite-Output "Hello World".


ScriptArguments - Аргументы скрипта
string. Необязательный элемент. Используйте при ScriptType = FilePath.

Указывает аргументы для скрипта PowerShell. Это могут быть порядковые или именованные параметры, например -testParam test. Пример: -applicationPath $(applicationPath), -username $(vmusername), -password $(vmpassword).


InitializationScript - Скрипт инициализации
string. Необязательный элемент. Используйте при ScriptType = FilePath.

Указывает расположение скрипта данных для DSC на целевых компьютерах или по пути UNC, например C:\BudgetIT\Web\Deploy\WebsiteConfiguration.ps1. Рекомендуется использовать аргументы вместо скрипта инициализации.


SessionVariables - Переменные сеанса
string. Необязательный элемент. Используйте при ScriptType = FilePath.

Используется для настройки переменных сеанса для сценариев PowerShell.
Задает список с разделителями-запятыми, например $varx=valuex, $vary=valuey. Чаще всего используется для обеспечения обратной совместимости с более ранними версиями службы выпуска. Рекомендуется использовать аргументы вместо переменных сеанса.


CommunicationProtocol - Протокол
string. Допустимые значения: Http, Https. Значение по умолчанию: Https.

Указывает протокол, используемый для подключения службы WinRM к компьютерам. Значение по умолчанию — HTTPS.


AuthenticationMechanism - Проверки подлинности
string. Допустимые значения: Default, Credssp. Значение по умолчанию: Default.

Указывает механизм проверки подлинности, используемый для создания PSSession. Для CredSSP проверки подлинности поля имени пользователя и пароля являются обязательными.


NewPsSessionOptionArguments - Параметры параметра сеанса
string. Значение по умолчанию: -SkipCACheck -IdleTimeout 7200000 -OperationTimeout 0 -OutputBufferingMode Block.

Дополнительные параметры удаленного сеанса (New-PSSessionOption). Например, -SkipCACheck, -SkipCNCheck, -SkipRevocationCheckи т. д. Дополнительные сведения см. в полном списке всех параметров сеанса .


ErrorActionPreference - ErrorActionPreference
string. Допустимые значения: stop, continue, silentlyContinue. Значение по умолчанию: stop.

Добавляет строку $ErrorActionPreference = 'VALUE' в начало скрипта.


failOnStderr - Сбой при стандартной ошибке
boolean. Значение по умолчанию: false.

Если задано значение true, происходит сбой, если какие-либо ошибки записываются в конвейер ошибок или какие-либо данные записываются в поток стандартных ошибок. В противном случае задача использует код выхода для определения сбоя.


ignoreLASTEXITCODE - Пропуск $LASTEXITCODE
boolean. Значение по умолчанию: false.

Если задано значение false, строка if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } выполняется в конце скрипта. Это приводит к тому, что последний код выхода из внешней команды распространяется как код выхода PowerShell. В противном случае строка не будет выполнена до конца скрипта.


WorkingDirectory - Рабочий каталог
string.

Указывает рабочий каталог, в котором выполняется скрипт.


RunPowershellInParallel - Запуск PowerShell в параллельном режиме
boolean. Значение по умолчанию: true.

Если задано значение true, скрипты PowerShell выполняются параллельно на целевых компьютерах.


Параметры управления задачами

Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

Используйте эту задачу для выполнения скриптов PowerShell на удаленных компьютерах.

Эта задача может выполнять как сценарии PowerShell, так и сценарии PowerShell-DSC:

  • Для сценариев PowerShell на компьютерах должна быть установлена среда PowerShell 2.0 или более поздней версии.
  • Для сценариев PowerShell-DSC на компьютерах должна быть установлена последняя версия Windows Management Framework. Он устанавливается по умолчанию в Windows 8.1, Windows Server 2012 R2 и последующих версиях.

Предварительные требования

Эта задача использует удаленное управление Windows (WinRM) для доступа к локальным физическим компьютерам или виртуальным компьютерам, присоединенным к домену или к рабочей группе.

Настройка WinRM для локальных физических компьютеров или виртуальных машин

Выполните действия, описанные в разделе Присоединение к домену

Настройка WinRM для Microsoft Azure Виртуальные машины

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

  • Классическая Виртуальные машины Azure. При создании классической виртуальной машины из портал Azure виртуальная машина уже настроена для WinRM по протоколу HTTPS, при этом в брандмауэре уже открыт порт по умолчанию 5986 и на ней установлен самозаверяющий сертификат. Доступ к этим виртуальным машинам можно получить без дополнительной настройки. Существующие классические виртуальные машины можно также выбрать с помощью задачи развертывания группы ресурсов Azure .

  • Группа ресурсов Azure. Если в портал Azure уже определена группа ресурсов Azure, необходимо настроить ее для использования протокола WINRM HTTPS. Необходимо открыть порт 5986 в брандмауэре и установить самозаверяющий сертификат.

Для динамического развертывания групп ресурсов Azure, содержащих виртуальные машины, используйте задачу развертывания группы ресурсов Azure . Эта задача имеет флажок Включить необходимые компоненты для развертывания. Выберите этот параметр, чтобы автоматически настроить протокол WINRM HTTPS на виртуальных машинах, открыть порт 5986 в брандмауэре и установить тестовый сертификат. Затем виртуальные машины будут готовы к использованию в задаче развертывания.

Новые возможности этой версии задачи

  • Использует PSSession и invoke-command для выполнения удаленного взаимодействия на целевых компьютерах.
  • Добавлена поддержка выполнения встроенных скриптов.
  • Поддерживаются проверка подлинности По умолчанию и CredSSP.
  • Добавлены параметры для обработки ошибок: ErrorActionPreference, и сбой ignoreLASTEXITCODEпри стандартной ошибке.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.134.0 или более поздней версии
Категория задач Развертывание