Megosztás a következőn keresztül:


PowerShellOnTargetMachines@3 – PowerShell a célgépeken v3 feladat

Ezzel a feladattal PowerShell-szkripteket hajthat végre távoli gépeken PSSession és Invoke-Command használatával.

Ezzel a feladatsal PowerShell-szkripteket hajthat végre távoli gépeken. A feladat ezen verziója PSSession-t és Invoke-Command használ az újraegyenlítéshez.

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.

Bevitelek

Machines - Gépek
string. Kötelező.

A gép teljes tartományneveinek vagy IP-címeinek vesszővel tagolt listáját adja meg, és opcionálisan tartalmazza a portszámot. A következő lehet:

  • Egy Azure-erőforráscsoport neve.
  • Gépnevek vesszővel tagolt listája. Például: dbserver.fabrikam.com,dbserver_int.fabrikam.com:5986,192.168.34:5986
  • Egy előző tevékenység kimeneti változója.

Ha nem ad meg portot, a rendszer az alapértelmezett WinRM-portot használja. Ez a konfigurált protokolltól függ. WinRM 2.0 esetén az alapértelmezett HTTP-port, 5985 az alapértelmezett HTTPS-port pedig 5986.


UserName - Felhasználónév
string.

Megadja egy tartomány vagy egy helyi rendszergazdai fiók felhasználónevét a cél gazdagép(ek)en.

  • Az olyan formátumok, mint a username, domain\username, machine-name\usernameés .\username támogatottak.
  • Az upn-formátumok, például username@domain.com a beépített rendszerfiókok, például NT Authority\System nem támogatottak.

UserPassword - Jelszó
string.

Megadja a célgépek jelszavát. A build-/kiadási definíciókban definiált változók $(passwordVariable) elfogadottak. A változótípust biztonságosként secret jelölheti meg.


ScriptType - Szkript típusa
string. Engedélyezett értékek: FilePath (Fájl elérési útja), Inline. Alapértelmezett érték: Inline.

Meghatározza a végrehajtandó szkript típusát: Beágyazott vagy Fájl elérési útja.


ScriptPath - Szkriptfájl elérési útja
string. Akkor szükséges, ha ScriptType = FilePath.

Meghatározza a PowerShell-szkript helyét a célgépeken vagy egy UNC-útvonalon( például C:\BudgetIT\Web\Deploy\Website.ps1), amelynek elérhetőnek kell lennie a célgépről.


InlineScript - Script
string. Akkor szükséges, ha ScriptType = Inline. Alapértelmezett érték: # Write your powershell commands here.\n\nWrite-Output "Hello World".


ScriptArguments - Szkriptargumentumok
string. Választható. Használja a következőt: ScriptType = FilePath.

A PowerShell-szkript argumentumait adja meg. Lehetnek sorszámos vagy elnevezett paraméterek, például -testParam teszt. Például: -applicationPath $(applicationPath), -username $(vmusername), -password $(vmpassword).


InitializationScript - Inicializálási szkript
string. Választható. Használja a következőt: ScriptType = FilePath.

Megadja a DSC adatszkriptjének helyét a célgépeken vagy egy UNC elérési úton, például C:\BudgetIT\Web\Deploy\WebsiteConfiguration.ps1: . Inicializálási szkript helyett ajánlott argumentumokat használni.


SessionVariables - Munkamenet változói
string. Választható. Használja a következőt: ScriptType = FilePath.

A PowerShell-szkriptek munkamenet-változóinak beállítására szolgál.
Vesszővel tagolt listát ad meg, például $varx=valuex, $vary=valuey: . Leggyakrabban a kiadási szolgáltatás korábbi verzióival való visszamenőleges kompatibilitásra használják. Ajánlott argumentumokat használni a munkamenet-változók helyett.


CommunicationProtocol - Protokoll
string. Engedélyezett értékek: Http, Https. Alapértelmezett érték: Https.

Meghatározza a WinRM szolgáltatás és a gép(ek) közötti kapcsolathoz használandó protokollt. Az alapértelmezett érték HTTPS.


AuthenticationMechanism - Hitelesítés
string. Engedélyezett értékek: Default, Credssp. Alapértelmezett érték: Default.

Meghatározza a PSSession létrehozásához használt hitelesítési mechanizmust. A hitelesítéshez CredSSP a felhasználónév és a jelszó mezők kötelezőek.


NewPsSessionOptionArguments - Munkamenet-beállítás paraméterei
string. Alapértelmezett érték: -SkipCACheck -IdleTimeout 7200000 -OperationTimeout 0 -OutputBufferingMode Block.

Speciális beállítások távoli munkamenethez (New-PSSessionOption). Például, -SkipCACheck, -SkipCNCheck, -SkipRevocationCheckstb. További információért tekintse meg az összes munkamenet-beállítás teljes listáját .


ErrorActionPreference - ErrorActionPreference
string. Engedélyezett értékek: stop, continue, silentlyContinue. Alapértelmezett érték: stop.

Előre felerősít egy sort $ErrorActionPreference = 'VALUE' a szkript tetején.


failOnStderr - Hiba standard hiba miatt
boolean. Alapértelmezett érték: false.

Ha a értékre truevan állítva, a hibát a rendszer a hibafolyamatba írja, vagy ha az adatok a Standard hibastreambe vannak írva. Ellenkező esetben a feladat a kilépési kódra támaszkodik a hiba meghatározásához.


ignoreLASTEXITCODE - $LASTEXITCODE mellőzése
boolean. Alapértelmezett érték: false.

Ha a értékre falsevan állítva, a sor if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } a szkript végén lesz végrehajtva. Ez azt eredményezi, hogy a külső parancsból származó utolsó kilépési kód a PowerShell kilépési kódjaként lesz propagálva. Ellenkező esetben a program nem hajtja végre a sort a szkript végéig.


WorkingDirectory - Munkakönyvtár
string.

Megadja azt a munkakönyvtárat, amelyen a szkript fut.


RunPowershellInParallel - A PowerShell párhuzamos futtatása
boolean. Alapértelmezett érték: true.

Ha a értékre van trueállítva, párhuzamosan futtatja a PowerShell-szkripteket a célgépeken.


Tevékenységvezérlési beállítások

Minden tevékenység a tevékenység bemenetei mellett vezérlési lehetőségekkel is rendelkezik. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.

Kimeneti változók

Nincsenek.

Megjegyzések

Ezzel a feladatsal PowerShell-szkripteket hajthat végre távoli gépeken.

Ez a feladat PowerShell-szkripteket és PowerShell-DSC-szkripteket is futtathat:

  • PowerShell-szkriptek esetén a számítógépeken telepítve kell lennie a PowerShell 2.0-s vagy újabb verziójának.
  • PowerShell-DSC-szkriptek esetén a számítógépeken telepítve kell lennie a Windows Management Framework legújabb verziójának. Ez alapértelmezés szerint a Windows 8.1, Windows Server 2012 R2 és az azt követő verziókra van telepítve.

Előfeltételek

Ez a feladat a Windows Remote Management (WinRM) használatával fér hozzá a tartományhoz vagy munkacsoporthoz csatlakoztatott helyszíni fizikai számítógépekhez vagy virtuális számítógépekhez.

A WinRM beállítása helyszíni fizikai számítógépekhez vagy virtuális gépekhez

Kövesse a tartományhoz csatlakoztatott területen leírt lépéseket

A WinRM beállítása a Microsoft Azure Virtual Machines

Az Azure Virtual Machines megköveteli, hogy a WinRM a HTTPS protokollt használja. Használhat önaláírt teszttanúsítványt. Ebben az esetben az automation-ügynök nem ellenőrzi a tanúsítvány hitelességét egy megbízható hitelesítésszolgáltató által kiadott állapotban.

  • Klasszikus Azure-Virtual Machines. Amikor klasszikus virtuális gépet hoz létre a Azure Portal, a virtuális gép már be van állítva a WinRM-hez HTTPS-en keresztül, az alapértelmezett 5986-os port már meg van nyitva a tűzfalon, és egy önaláírt tanúsítvány van telepítve a gépen. Ezek a virtuális gépek további konfiguráció nélkül érhetők el. A meglévő klasszikus virtuális gépek az Azure-erőforráscsoport üzembe helyezési feladatával is kiválaszthatók.

  • Azure-erőforráscsoport. Ha már definiált Azure-erőforráscsoportot a Azure Portal, konfigurálnia kell a WinRM HTTPS protokoll használatára. Meg kell nyitnia az 5986-os portot a tűzfalon, és telepítenie kell egy önaláírt tanúsítványt.

A virtuális gépeket tartalmazó Azure-erőforráscsoportok dinamikus üzembe helyezéséhez használja az Azure-erőforráscsoport üzembehelyezési feladatát. Ebben a feladatban az Üzembe helyezés előfeltételeinek engedélyezése jelölőnégyzet van bejelölve. Ezt választva automatikusan beállíthatja a WinRM HTTPS protokollt a virtuális gépeken, megnyithatja az 5986-os portot a tűzfalon, és telepíthet egy teszttanúsítványt. A virtuális gépek ezután készen állnak az üzembe helyezési feladatban való használatra.

A feladatverzió újdonságai

  • PSSession és invoke-command használatával hajtja végre a célgépeken a visszahívást.
  • Mostantól támogatott a beágyazott szkriptek végrehajtása.
  • Az alapértelmezett és a CredSSP-hitelesítés támogatott.
  • A hibakezeléshez a következő lehetőségek adhatók meg: ErrorActionPreference, ignoreLASTEXITCODE és Sikertelen a standard hiba esetén.

Követelmények

Követelmény Leírás
Folyamattípusok YAML, klasszikus build, klasszikus kiadás
Futtatás: Ügynök, DeploymentGroup
Igények None
Képességek Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek.
Parancskorlátozások Bármelyik
Változók beállítása Bármelyik
Ügynök verziója 2.134.0 vagy újabb
Feladatkategória Üzembe helyezés