Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта задача предназначена для выполнения скриптов 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.
Входные данные
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
. Пример: -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 на целевых компьютерах.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Нет.
Замечания
Используйте эту задачу для выполнения скриптов 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, необходимо настроить ее для использования протокола HTTPS WinRM. Необходимо открыть порт 5986 в брандмауэре и установить самозаверяющий сертификат.
Для динамического развертывания групп ресурсов Azure, содержащих виртуальные машины, используйте задачу развертывания группы ресурсов Azure. Эта задача имеет флажок с именем Включить предварительные требования развертывания. Выберите это, чтобы автоматически настроить протокол HTTPS WinRM на виртуальных машинах, открыть порт 5986 в брандмауэре и установить тестовый сертификат. Затем виртуальные машины готовы к использованию в задаче развертывания.
Новые возможности этой версии задачи
- Использует PSSession и invoke-command для выполнения удаленного взаимодействия на целевых компьютерах.
- Добавлена поддержка встроенного выполнения скрипта.
- По умолчанию и проверка подлинности CredSSP поддерживаются.
- Добавлены параметры обработки ошибок:
ErrorActionPreference
,ignoreLASTEXITCODE
и сбой стандартной ошибки.
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент, DeploymentGroup |
требования | Нет |
возможностей | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
ограничения команд | Любое |
переменные settable | Любое |
Версия агента | 2.134.0 или более поздней версии |
Категория задач | Внедрять |