Invoke-AsWorkflow
Parancsot vagy kifejezést futtat Windows PowerShell-munkafolyamatként.
Syntax
Invoke-AsWorkflow
[-CommandName <String>]
[-Parameter <Hashtable>]
[-InputObject <Object>]
[<CommonParameters>]
Invoke-AsWorkflow
[-Expression <String>]
[-InputObject <Object>]
[<CommonParameters>]
Description
A Invoke-AsWorkflow
munkafolyamat bármely parancsot vagy kifejezést beágyazott szkriptként futtat egy munkafolyamatban.
Ezek a munkafolyamatok a szokásos munkafolyamat-szemantikát használják, minden munkafolyamat közös paraméterével rendelkeznek, és a munkafolyamatok minden előnyével rendelkeznek, beleértve a leállítás, a folytatás és a helyreállítás lehetőségét is.
A munkafolyamatok olyan hosszú ideig futó parancsokhoz vannak kialakítva, amelyek kritikus adatokat gyűjtenek, de bármely parancs futtatására használhatók. További információ: about_Workflows.
A parancshoz gyakran használt munkafolyamat-paramétereket is hozzáadhat. A munkafolyamat gyakori paramétereiről további információt a about_WorkflowCommonParameters
Ezt a munkafolyamatot a Windows PowerShell 3.0-ban vezettük be.
Példák
1. példa: Parancsmag futtatása munkafolyamatként
Invoke-AsWorkflow -PSComputerName (Get-Content Servers.txt) -CommandName Get-ExecutionPolicy
PSComputerName PSSourceJobInstanceId Value
-------------- --------------------- -----
Server01 77b1cdf8-8226-4662-9067-cd2fa5c3b711 AllSigned
Server02 a33542d7-3cdd-4339-ab99-0e7cd8e59462 Unrestricted
Server03 279bac28-066a-4646-9497-8fcdcfe9757e AllSigned
localhost 0d858009-2cc4-47a4-a2e0-da17dc2883d0 RemoteSigned
Ez a parancs munkafolyamatként futtatja a Get-ExecutionPolicy
parancsmagot több száz számítógépen.
A parancs a CommandName paraméter használatával adja meg a munkafolyamatban futó parancsmagot.
A PSComputerName munkafolyamat gyakori paraméterével adja meg azokat a számítógépeket, amelyeken a parancs fut.
A PSComputerName paraméter értéke egy Get-Content
parancs, amely lekéri a számítógépnevek listáját a Servers.txt fájlból.
A paraméter értéke zárójelben van, hogy a Windows PowerShell az érték használata előtt futtassa a Get-Command
parancsot.
Mint minden távoli parancs esetén, ha a parancs a helyi számítógépen fut (ha a PSComputerName paraméter értéke tartalmazza a helyi számítógépet), a Windows PowerShellt a "Futtatás rendszergazdaként" beállítással kell elindítania.
2. példa: Parancsmag futtatása paraméterekkel
$s = Import-Csv .\Servers.csv -Header ServerName, ServerID
Invoke-AsWorkflow -CommandName Get-ExecutionPolicy -Parameter @{Scope="Process"} -PSComputerName {$s.ServerName} -PSConnectionRetryCount 5
Az első parancs a Import-Csv
parancsmaggal hoz létre egy objektumot a Servers.csv fájl tartalmából. A parancs a Header
paraméterrel létrehoz egy tulajdonságot ServerName
a célszámítógépek nevét tartalmazó oszlophoz, más néven "távoli csomópontokhoz". A parancs az eredményt a $s
változóba menti.
A második parancs a Invoke-AsWorkflow
munkafolyamat használatával futtat egy Get-ExecutionPolicy
parancsot a Servers.csv fájlban lévő számítógépeken. A parancs a CommandName paraméter használatával Invoke-AsWorkflow
adja meg a munkafolyamatban futtatandó parancsot. A paraméterrel Parameter
Invoke-AsWorkflow
adja meg a Get-ExecutionPolicy
Scope
parancsmag paraméterét a Process értékével. A parancs a PSConnectionRetryCount
munkafolyamat közös paraméterét is használja, hogy a parancsot minden számítógépen öt kísérletre korlátozza, a PSComputerName
munkafolyamat közös paramétere pedig a távoli csomópontok (célszámítógépek) nevének megadására. A paraméter értéke PSComputerName
egy kifejezés, amely a ServerName
változó minden objektumának tulajdonságát $s
lekéri.
Ezek a parancsok több száz számítógépen futtatnak Get-ExecutionPolicy
munkafolyamatként egy parancsot.
A parancs a Scope
Get-ExecutionPolicy
parancsmag paraméterét használja a Folyamat értékével a végrehajtási szabályzat lekéréséhez az aktuális munkamenetben.
3. példa: Kifejezés futtatása munkafolyamatként
Invoke-AsWorkflow -Expression "ipconfig /all" -PSComputerName (Get-Content DomainControllers.txt) -AsJob -JobName IPConfig
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 IpConfig PSWorkflowJob Completed True Server01, Server01... Invoke-AsWorkflow
Ez a parancs a Invoke-AsWorkflow
munkafolyamat használatával futtat egy Ipconfig-parancsot munkafolyamat-feladatként a DomainControllers.txt fájlban felsorolt számítógépeken.
A parancs a Expression
paraméter használatával adja meg a futtatandó kifejezést.
PSComputerName
A munkafolyamat gyakori paraméterével adja meg a távoli csomópontok (célszámítógépek) nevét.
A parancs a munkafolyamat gyakori paramétereit is használja a AsJob
JobName
munkafolyamat háttérfeladatként való futtatásához minden számítógépen az "Ipconfig" feladatnévvel.
A parancs egy ContainerParentJob
objektumot (System.Management.Automation.ContainerParentJob
) ad vissza, amely tartalmazza az egyes számítógépek munkafolyamat-feladatait.
Paraméterek
-CommandName
Munkafolyamatként futtatja a megadott parancsmagot vagy speciális függvényt.
Adja meg a parancsmag vagy a függvény nevét, például Update-Help
: , Set-ExecutionPolicy
vagy Set-NetFirewallRule
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expression
Azt a kifejezést adja meg, amelyet ez a parancsmag munkafolyamatként futtat.
Adja meg a kifejezést sztringként, például "ipconfig /all"
.
Ha a kifejezés szóközöket vagy speciális karaktereket tartalmaz, a kifejezést idézőjelek közé kell foglalnia.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
A folyamat bemenetének engedélyezése.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Parameter
Megadja a paraméterben megadott parancs paramétereit és paraméterértékeit CommandName
.
Adjon meg egy kivonattáblát, amelyben minden kulcs paraméternév, értéke pedig a paraméter értéke, például @{ExecutionPolicy="AllSigned"}
.
A kivonattáblákról további információt a about_Hash_Tables talál.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Bevitelek
A parancsmaghoz bármilyen objektumot csövezhet.
Kimenetek
None
Ez a parancs nem ad vissza saját kimenetet, de az általa futtatott munkafolyamat kimenetet adhat vissza.
Kapcsolódó hivatkozások
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: