about_Workflows
Deskripsi singkat
Menyediakan pengenalan singkat untuk fitur Alur Kerja PowerShell.
Deskripsi panjang
Alur Kerja PowerShell membawa manfaat Windows Workflow Foundation ke PowerShell dan memungkinkan Anda menulis dan menjalankan alur kerja.
Alur Kerja PowerShell diperkenalkan di PowerShell 3.0 dan modul tersedia hingga PowerShell 5.1. Untuk informasi selengkapnya tentang Alur Kerja PowerShell, lihat Panduan Alur Kerja dan Menulis Alur Kerja Windows PowerShell.
Tentang alur kerja
Alur kerja adalah perintah yang terdiri dari urutan aktivitas terkait yang diurutkan. Biasanya, mereka berjalan untuk jangka waktu yang lama, mengumpulkan data dari dan membuat perubahan pada ratusan komputer, sering di lingkungan heterogen.
Alur kerja dapat ditulis dalam XAML, bahasa yang digunakan dalam Windows Workflow Foundation, atau dalam bahasa PowerShell. Alur kerja biasanya dipaketkan dalam modul dan menyertakan topik bantuan. Untuk informasi selengkapnya, lihat Gambaran Umum XAML (WPF).
Alur kerja sangat penting di lingkungan TI karena dapat bertahan dari boot ulang dan pulih secara otomatis dari kegagalan umum. Anda dapat memutuskan dan menyambungkan kembali dari sesi dan komputer yang menjalankan alur kerja tanpa mengganggu pemrosesan alur kerja, dan menangguhkan dan melanjutkan alur kerja secara transparan tanpa kehilangan data. Setiap aktivitas dalam alur kerja dapat dicatat dan diaudit untuk referensi. Alur kerja dapat berjalan sebagai pekerjaan dan dapat dijadwalkan dengan menggunakan fitur Pekerjaan Terjadwal PowerShell.
Status dan data dalam alur kerja disimpan atau disimpan di awal dan akhir alur kerja dan pada titik yang Anda tentukan. Titik persistensi alur kerja berfungsi seperti rekam jepret database atau titik pemeriksaan program untuk melindungi alur kerja dari efek gangguan dan kegagalan. Jika alur kerja tidak dapat pulih dari kegagalan, Anda dapat menggunakan data yang bertahan dan melanjutkan dari titik persistensi terakhir, alih-alih menjalankan ulang alur kerja yang luas dari awal.
Persyaratan dan konfigurasi alur kerja
Konfigurasi Alur Kerja PowerShell terdiri dari elemen berikut:
- Komputer klien, yang menjalankan alur kerja.
- Sesi alur kerja, PSSession, di komputer klien atau di komputer jarak jauh.
- Simpul terkelola, komputer target yang terpengaruh oleh aktivitas alur kerja.
Sesi alur kerja tidak diperlukan, tetapi disarankan. PSSessions dapat memanfaatkan fitur pemulihan yang kuat dan Sesi Terputus dari PowerShell untuk memulihkan sesi alur kerja yang terputus. Untuk informasi selengkapnya, lihat about_Remote_Disconnected_Sessions
Karena komputer klien dan komputer tempat sesi alur kerja berjalan dapat dikelola simpul, Anda dapat menjalankan alur kerja pada satu komputer yang memenuhi semua peran.
Komputer klien dan komputer tempat sesi alur kerja berjalan harus menjalankan PowerShell 3.0. Semua sistem yang memenuhi syarat didukung, termasuk opsi penginstalan Server Core dari sistem operasi Windows Server.
Untuk menjalankan alur kerja yang menyertakan cmdlet, simpul terkelola harus memiliki Windows PowerShell 2.0 atau yang lebih baru. Simpul terkelola tidak memerlukan PowerShell kecuali alur kerja menyertakan cmdlet. Anda dapat menjalankan alur kerja yang menyertakan perintah Windows Management Instrumentation (WMI) dan Common Information Model (CIM) di komputer yang tidak memiliki PowerShell.
Cara mendapatkan alur kerja
Alur kerja biasanya dipaketkan dalam modul. Untuk mengimpor modul yang menyertakan alur kerja, gunakan perintah apa pun dalam modul atau gunakan Import-Module
cmdlet.
Modul diimpor secara otomatis pada penggunaan pertama perintah apa pun dalam modul.
Untuk menemukan alur kerja dalam modul yang diinstal di komputer Anda, gunakan Get-Command
parameter CommandType cmdlet.
Get-Command -CommandType Workflow
Cara menjalankan alur kerja
Untuk menjalankan alur kerja, gunakan prosedur berikut.
Ketika simpul terkelola adalah komputer lokal, langkah ini tidak diperlukan. Jika tidak, pada komputer klien, mulai PowerShell dengan opsi Jalankan sebagai administrator.
Start-Process PowerShell -Verb RunAs
Aktifkan PowerShell jarak jauh pada komputer yang menjalankan sesi alur kerja dan pada simpul terkelola yang dipengaruhi oleh alur kerja yang menyertakan cmdlet.
Anda hanya perlu melakukan langkah ini sekali pada setiap komputer yang berpartisipasi.
Langkah ini hanya diperlukan saat menjalankan alur kerja yang menyertakan cmdlet. Anda tidak perlu mengaktifkan jarak jauh di komputer klien, kecuali sesi alur kerja berjalan di komputer klien, atau pada simpul terkelola apa pun yang menjalankan PowerShell 3.0.
Untuk mengaktifkan jarak jauh, gunakan
Enable-PSRemoting
cmdlet.Enable-PSRemoting -Force
Anda dapat mengaktifkan jarak jauh dengan menggunakan pengaturan Aktifkan Kebijakan Grup Eksekusi Skrip. Untuk informasi selengkapnya, lihat about_Group_Policy_Pengaturan dan about_Execution_Policies.
New-PSWorkflowSession
Gunakan cmdlet atauNew-PSSession
untuk membuat sesi alur kerja.New-PSWorkflowSession
Cmdlet memulai sesi yang menggunakan konfigurasi sesi Microsoft.PowerShell.Workflow bawaan di komputer tujuan. Konfigurasi sesi ini mencakup skrip, file jenis dan pemformatan, dan opsi yang dirancang untuk alur kerja.Atau, gunakan
New-PSSession
cmdlet. Gunakan parameter ConfigurationName untuk menentukan konfigurasi sesi Microsoft.PowerShell.Workflow. Perintah ini sama dengan menggunakanNew-PSWorkflowSession
cmdlet.Alternatifnya adalah menggunakan
New-PSSession
cmdlet. Gunakan parameter ConfigurationName untuk menentukan konfigurasi sesi Microsoft.PowerShell.Workflow.Pada komputer lokal:
$ws = New-PSWorkflowSession
Pada komputer jarak jauh:
$ws = New-PSWorkflowSession -ComputerName Server01 ` -Credential Domain01\Admin01
Jika Anda adalah Administrator di komputer sesi alur kerja, Anda dapat menggunakan
New-PSWorkflowExecutionOption
cmdlet untuk membuat pengaturan opsi kustom untuk konfigurasi sesi alur kerja. Dan, gunakanSet-PSSessionConfiguration
cmdlet untuk mengubah konfigurasi sesi.$sto = New-PSWorkflowExecutionOption -MaxConnectedSessions 150 Invoke-Command -ComputerName Server01 ` {Set-PSSessionConfiguration Microsoft.PowerShell.Workflow ` -SessionTypeOption $Using:sto} $ws = New-PSWorkflowSession -ComputerName Server01 ` -Credential Domain01\Admin01
Jalankan alur kerja dalam sesi alur kerja. Untuk menentukan nama simpul terkelola, komputer target, gunakan parameter umum alur kerja PSComputerName .
Contoh berikut menjalankan alur kerja bernama
Test-Workflow
.Di mana simpul terkelola adalah komputer yang menghosting sesi alur kerja:
Invoke-Command -Session $ws {Test-Workflow}
Di mana simpul terkelola adalah komputer jarak jauh.
Invoke-Command -Session $ws{ Test-Workflow -PSComputerName Server01, Server02 }
Contoh berikut menjalankan
Test-Workflow
pada ratusan komputer.Get-Content
Cmdlet mendapatkan nama komputer dari file teks dan menyimpannya dalam$Servers
variabel di komputer lokal.Invoke-Command
menggunakan pengubah$Using
cakupan untuk menentukan$Servers
variabel dalam sesi lokal. Untuk informasi selengkapnya tentang pengubah$Using
cakupan, lihat about_Remote_Variables.$Servers = Get-Content Servers.txt Invoke-Command -Session $ws {Test-Workflow -PSComputerName $Using:Servers }
Menggunakan parameter umum alur kerja
Parameter umum alur kerja adalah sekumpulan parameter yang ditambahkan PowerShell secara otomatis ke semua alur kerja. PowerShell menambahkan parameter umum cmdlet ke semua alur kerja, meskipun alur kerja tidak menggunakan atribut CmdletBinding .
Misalnya, alur kerja berikut tidak menentukan parameter. Namun, saat Anda menjalankan alur kerja, alur kerja memiliki CommonParameters dan WorkflowCommonParameters.
workflow Test-Workflow {Get-Process}
Get-Command Test-Workflow -Syntax
Test-Workflow [<WorkflowCommonParameters>] [<CommonParameters>]
Parameter umum alur kerja mencakup beberapa parameter yang penting untuk menjalankan alur kerja. Misalnya, parameter umum PSComputerName menentukan simpul terkelola yang dipengaruhi alur kerja.
Invoke-Command -Session $ws {
Test-Workflow -PSComputerName Server01, Server02
}
Parameter umum alur kerja PSPersist menentukan kapan data alur kerja dipertahankan. Ini memungkinkan Anda untuk menambahkan titik persistensi antara aktivitas ke alur kerja yang tidak menentukan titik persistensi.
Invoke-Command -Session $ws {
Test-Workflow -PSComputerName Server01, Server02 -PSPersist:$True
}
Parameter umum alur kerja lainnya memungkinkan Anda menentukan karakteristik koneksi jarak jauh ke simpul terkelola. Nama dan fungsionalitasnya mirip dengan parameter cmdlet jarak jauh, termasuk Invoke-Command
.
Invoke-Command -Session $ws {
Test-Workflow -PSComputerName Server01, Server02 -PSPort 443
}
Berhati-hatilah untuk membedakan parameter jarak jauh yang menentukan koneksi untuk sesi alur kerja dari PS-prefixed
parameter umum alur kerja yang menentukan koneksi ke simpul terkelola.
$ws = New-PSSession -ComputerName Server01 -ConfigurationName Microsoft.PowerShell.Workflow
Invoke-Command -Session $ws {
Test-Workflow -PSComputerName Server01, Server02 -PSConfigurationName Microsoft.PowerShell.Workflow
}
Beberapa parameter umum alur kerja unik untuk alur kerja, seperti parameter PSParameterCollection yang memungkinkan Anda menentukan nilai parameter umum alur kerja yang berbeda untuk simpul jarak jauh yang berbeda. Untuk daftar dan deskripsi parameter umum alur kerja, lihat about_WorkflowCommonParameters.
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk