Sdílet prostřednictvím


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 usernamejsou , domain\usernamemachine-name\username, a.\username.
  • Formáty hlavního názvu uživatele (UPN), jako username@domain.com jsou předdefinované systémové účty, se NT 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, -SkipRevocationCheckatd. 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 , trueselž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:

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: ErrorActionPreferencea ignoreLASTEXITCODESelhá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í