Invoke-AsWorkflow
Menjalankan perintah atau ekspresi sebagai Alur Kerja Windows PowerShell.
Sintaks
Command (Default)
Invoke-AsWorkflow
[-CommandName <String>]
[-Parameter <Hashtable>]
[-InputObject <Object>]
[<CommonParameters>]
Expression
Invoke-AsWorkflow
[-Expression <String>]
[-InputObject <Object>]
[<CommonParameters>]
Deskripsi
Alur kerja Invoke-AsWorkflow menjalankan perintah atau ekspresi apa pun sebagai skrip sebaris dalam alur kerja.
Alur kerja ini menggunakan semantik alur kerja standar, memiliki semua parameter umum alur kerja, dan memiliki semua manfaat alur kerja, termasuk kemampuan untuk menghentikan, melanjutkan, dan memulihkan.
Alur kerja dirancang untuk perintah jangka panjang yang mengumpulkan data penting, tetapi dapat digunakan untuk menjalankan perintah apa pun. Untuk informasi selengkapnya, lihat about_Workflows.
Anda juga dapat menambahkan parameter umum alur kerja ke perintah ini. Untuk informasi selengkapnya tentang parameter umum alur kerja, lihat about_WorkflowCommonParameters
Alur kerja ini diperkenalkan di Windows PowerShell 3.0.
Contoh
Contoh 1: Menjalankan cmdlet sebagai alur kerja
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
Perintah ini menjalankan cmdlet Get-ExecutionPolicy sebagai alur kerja pada ratusan komputer.
Perintah menggunakan parameter CommandName untuk menentukan cmdlet yang berjalan dalam alur kerja.
Ini menggunakan parameter umum alur kerja PSComputerName Get-Command sebelum menggunakan nilai .
Seperti semua perintah jarak jauh, jika perintah berjalan di komputer lokal, (jika nilai parameter PSComputerName menyertakan komputer lokal), Anda harus memulai Windows PowerShell dengan opsi "Jalankan sebagai administrator".
Contoh 2: Jalankan cmdlet dengan parameter
$s = Import-Csv .\Servers.csv -Header ServerName, ServerID
Invoke-AsWorkflow -CommandName Get-ExecutionPolicy -Parameter @{Scope="Process"} -PSComputerName {$s.ServerName} -PSConnectionRetryCount 5
Perintah pertama menggunakan cmdlet Import-Csv untuk membuat objek dari konten dalam file Servers.csv. Perintah menggunakan parameter Header untuk membuat properti ServerName untuk kolom yang berisi nama komputer target, juga dikenal sebagai "simpul jarak jauh." Perintah menyimpan hasil dalam variabel $s.
Perintah kedua menggunakan alur kerja Invoke-AsWorkflow untuk menjalankan perintah Get-ExecutionPolicy pada komputer dalam file Servers.csv. Perintah menggunakan parameter ParameterInvoke-AsWorkflow untuk menentukan parameter Scope cmdlet Get-ExecutionPolicy dengan nilai Proses. Perintah ini juga menggunakan parameter umum alur kerja PSConnectionRetryCount untuk membatasi perintah hingga lima upaya pada setiap komputer dan parameter umum alur kerja PSComputerName untuk menentukan nama simpul jarak jauh (komputer target). Nilai parameter PSComputerName adalah ekspresi yang mendapatkan properti ServerName dari setiap objek dalam variabel $s.
Perintah ini menjalankan perintah Get-ExecutionPolicy sebagai alur kerja pada ratusan komputer.
Perintah menggunakan parameter
Contoh 3: Menjalankan ekspresi sebagai alur kerja
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
Perintah ini menggunakan alur kerja Invoke-AsWorkflow untuk menjalankan perintah Ipconfig sebagai pekerjaan alur kerja pada komputer yang tercantum dalam file DomainControllers.txt.
Perintah menggunakan parameter Expression untuk menentukan ekspresi yang akan dijalankan.
Ini menggunakan parameter umum alur kerja PSComputerName untuk menentukan nama simpul jarak jauh (komputer target).
Perintah ini juga menggunakan parameter umum alur kerja AsJob dan JobName untuk menjalankan alur kerja sebagai pekerjaan latar belakang di setiap komputer dengan nama pekerjaan "Ipconfig".
Perintah mengembalikan objek ContainerParentJob (System.Management.Automation.ContainerParentJob) yang berisi pekerjaan alur kerja di setiap komputer.
Parameter
-CommandName
Menjalankan cmdlet yang ditentukan atau fungsi tingkat lanjut sebagai alur kerja.
Masukkan cmdlet atau nama fungsi, seperti Update-Help, Set-ExecutionPolicy, atau Set-NetFirewallRule.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
Command
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Expression
Menentukan ekspresi yang dijalankan cmdlet ini sebagai alur kerja.
Masukkan ekspresi sebagai string, seperti "ipconfig /all".
Jika ekspresi menyertakan spasi atau karakter khusus, sertakan ekspresi dalam tanda kutip.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
Expression
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-InputObject
Digunakan untuk mengizinkan input alur.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Parameter
Menentukan parameter dan nilai parameter perintah yang ditentukan dalam parameter CommandName.
Masukkan tabel hash di mana setiap kunci adalah nama parameter dan nilainya adalah nilai parameter, seperti @{ExecutionPolicy="AllSigned"}.
Untuk informasi tentang tabel hash, lihat about_Hash_Tables.
Properti parameter
| Jenis: | Hashtable |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
Command
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
Object
Anda dapat menyalurkan objek apa pun ke cmdlet ini.
Output
None
Perintah ini tidak mengembalikan outputnya sendiri, tetapi alur kerja yang dijalankannya mungkin mengembalikan output.