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áulNT 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
, -SkipRevocationCheck
stb. 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 true
van á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 false
van á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 |
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: