PowerShellOnTargetMachines@3 – úloha PowerShellu na cílových počítačích v3
Tuto úlohu použijte ke spouštění skriptů PowerShellu na vzdálených počítačích pomocí PSSession a Invoke-Command pro vzdálenou komunikace.
Tuto úlohu použijte ke spouštění skriptů PowerShellu na vzdálených počítačích. Tato verze úlohy používá pro vzdálené komunikace službu PSSession a Invoke-Command.
Syntax
# 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.
Vstupy
Machines
- Stroje
string
. Povinná hodnota.
Určuje seznam plně kvalifikovaných názvů domén nebo IP adres počítačů oddělených čárkami a volitelně i číslo portu. Může to být:
- Název skupiny prostředků Azure.
- Seznam názvů počítačů oddělených čárkami Příklad:
dbserver.fabrikam.com,dbserver_int.fabrikam.com:5986,192.168.34:5986
- Výstupní proměnná z předchozího úkolu.
Pokud nezadáte port, použije se výchozí port WinRM. To závisí na protokolu, který jste nakonfigurovali. Pro WinRM 2.0 je 5985
výchozí port HTTP a výchozí port HTTPS je 5986
.
UserName
- Username
string
.
Určuje uživatelské jméno domény nebo účtu místního správce na cílových hostitelích.
- Podporované jsou formáty, jako
username
jsou ,domain\username
machine-name\username
, a.\username
. - Formáty hlavního názvu uživatele (UPN), jako
username@domain.com
jsou předdefinované systémové účty, seNT Authority\System
nepodporují.
UserPassword
- Heslo
string
.
Určuje heslo pro cílové počítače. Proměnné definované v definicích sestavení/verze jako $(passwordVariable)
jsou přijímány. Typ proměnné můžete označit jako secret
zabezpečený.
ScriptType
- Typ skriptu
string
. Povolené hodnoty: FilePath
(Cesta k souboru), Inline
. Výchozí hodnota: Inline
.
Určuje typ skriptu, který se má spustit: Vložená nebo Cesta k souboru.
ScriptPath
- Cesta k souboru skriptu
string
. Vyžaduje se, když ScriptType = FilePath
.
Určuje umístění skriptu PowerShellu na cílových počítačích nebo v cestě UNC, například C:\BudgetIT\Web\Deploy\Website.ps1
, která by měla být přístupná z cílového počítače.
InlineScript
- Skript
string
. Vyžaduje se, když ScriptType = Inline
. Výchozí hodnota: # Write your powershell commands here.\n\nWrite-Output "Hello World"
.
ScriptArguments
- Argumenty skriptu
string
. Nepovinný parametr. Použijte, když ScriptType = FilePath
.
Určuje argumenty pro skript PowerShellu. Může to být pořadové nebo pojmenované parametry, jako je -testParam
test. Příklad: -applicationPath $(applicationPath)
, -username $(vmusername)
, . -password $(vmpassword)
InitializationScript
- Inicializační skript
string
. Nepovinný parametr. Použijte, když ScriptType = FilePath
.
Určuje umístění datového skriptu pro DSC na cílových počítačích nebo v cestě UNC, například C:\BudgetIT\Web\Deploy\WebsiteConfiguration.ps1
. Místo inicializačního skriptu se doporučuje použít argumenty.
SessionVariables
- Proměnné relace
string
. Nepovinný parametr. Použijte, když ScriptType = FilePath
.
Slouží k nastavení proměnných relace pro skripty PowerShellu.
Určuje seznam oddělený čárkami, například $varx=valuex, $vary=valuey
. Nejčastěji se používá pro zpětnou kompatibilitu se staršími verzemi služby vydaných verzí. Místo proměnných relace se doporučuje používat argumenty.
CommunicationProtocol
- Protokol
string
. Povolené hodnoty: Http
, Https
. Výchozí hodnota: Https
.
Určuje protokol, který se má použít pro připojení služby WinRM k počítačům. Výchozí hodnota je HTTPS
.
AuthenticationMechanism
- Ověřování
string
. Povolené hodnoty: Default
, Credssp
. Výchozí hodnota: Default
.
Určuje mechanismus ověřování použitý k vytvoření psSession. Pro CredSSP
ověřování jsou pole uživatelského jména a hesla povinná.
NewPsSessionOptionArguments
- Parametry možností relace
string
. Výchozí hodnota: -SkipCACheck -IdleTimeout 7200000 -OperationTimeout 0 -OutputBufferingMode Block
.
Upřesnit možnosti pro vzdálenou relaci (New-PSSessionOption) Například -SkipCACheck
, -SkipCNCheck
, -SkipRevocationCheck
atd. Další informace najdete v úplném seznamu všech možností relace .
ErrorActionPreference
- ErrorActionPreference
string
. Povolené hodnoty: stop
, continue
, silentlyContinue
. Výchozí hodnota: stop
.
Předehodí řádek $ErrorActionPreference = 'VALUE'
v horní části skriptu.
failOnStderr
- Selhání při standardní chybě
boolean
. Výchozí hodnota: false
.
Pokud je nastavená hodnota , true
selže, pokud se do kanálu chyb zapisují nějaké chyby nebo pokud jsou do streamu standardních chyb zapsána nějaká data. V opačném případě se úloha při určování selhání spoléhá na ukončovací kód.
ignoreLASTEXITCODE
- Ignorovat $LASTEXITCODE
boolean
. Výchozí hodnota: false
.
Pokud je nastavená hodnota false
, řádek if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE }
se spustí na konci skriptu. To způsobí, že poslední ukončovací kód z externího příkazu se rozšíří jako ukončovací kód PowerShellu. V opačném případě se řádek nespustí na konec skriptu.
WorkingDirectory
- Pracovní adresář
string
.
Určuje pracovní adresář, ve kterém se skript spouští.
RunPowershellInParallel
- Paralelní spuštění PowerShellu
boolean
. Výchozí hodnota: true
.
Pokud je nastavená hodnota true
, spustí na cílových počítačích paralelně skripty PowerShellu.
Možnosti řízení úkolů
Všechny úkoly mají kromě vstupů úkolů také možnosti řízení. Další informace najdete v tématu Možnosti ovládacího prvku a běžné vlastnosti úlohy.
Výstupní proměnné
Žádné
Poznámky
Tuto úlohu použijte ke spouštění skriptů PowerShellu na vzdálených počítačích.
Tato úloha může spouštět skripty PowerShellu i skripty PowerShell-DSC:
- Pro skripty PowerShellu musí mít počítače nainstalovaný PowerShell 2.0 nebo novější.
- Pro skripty PowerShell-DSC musí mít počítače nainstalovanou nejnovější verzi Windows Management Framework. Ve výchozím nastavení se instaluje v Windows 8.1, Windows Server 2012 R2 a dalších verzích.
Požadavky
Tato úloha používá vzdálenou správu systému Windows (WinRM) pro přístup k místním fyzickým počítačům nebo virtuálním počítačům, které jsou připojené k doméně nebo k pracovní skupině.
Nastavení WinRM pro místní fyzické počítače nebo virtuální počítače
Postupujte podle kroků popsaných v tématu Připojení k doméně.
Nastavení WinRM pro Microsoft Azure Virtual Machines
Azure Virtual Machines vyžaduje, aby winRM používal protokol HTTPS. Můžete použít testovací certifikát podepsaný svým držitelem. V takovém případě agent automatizace neověří pravost certifikátu vydaného důvěryhodnou certifikační autoritou.
Azure Classic Virtual Machines. Když vytvoříte klasický virtuální počítač z Azure Portal, je pro tento virtuální počítač už nastavený WinRM přes HTTPS. Výchozí port 5986 je už v bráně firewall otevřený a na počítači je nainstalovaný certifikát podepsaný svým držitelem. Tyto virtuální počítače jsou přístupné bez nutnosti další konfigurace. Existující klasické virtuální počítače je možné vybrat také pomocí úlohy Nasazení skupiny prostředků Azure .
Skupina prostředků Azure. Pokud už máte skupinu prostředků Azure definovanou v Azure Portal, musíte ji nakonfigurovat tak, aby používala protokol HTTPS WinRM. Musíte otevřít port 5986 v bráně firewall a nainstalovat certifikát podepsaný svým držitelem.
Pokud chcete dynamicky nasazovat skupiny prostředků Azure, které obsahují virtuální počítače, použijte úlohu Nasazení skupiny prostředků Azure . Tato úloha má zaškrtávací políčko s názvem Povolit požadavky nasazení. Tuto možnost vyberte, pokud chcete na virtuálních počítačích automaticky nastavit protokol HTTPS WinRM, otevřít port 5986 v bráně firewall a nainstalovat testovací certifikát. Virtuální počítače jsou pak připravené k použití v úloze nasazení.
Novinky v této verzi úlohy
- Používá PSSession a invoke-command k provedení vzdálené komunikace na cílových počítačích.
- Přidání podpory pro spouštění vložených skriptů
- Podporuje se výchozí ověřování a ověřování CredSSP.
- Přidání možností pro zpracování chyb:
ErrorActionPreference
aignoreLASTEXITCODE
Selhání při standardní chybě.
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasický build, klasická verze |
Běží na | Agent, DeploymentGroup |
Požadavky | Žádné |
Možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
Omezení příkazů | Všechny |
Nastavitelné proměnné | Všechny |
Verze agenta | 2.134.0 nebo vyšší |
Kategorie úloh | Nasazení |