Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
DESKRIPSI SINGKAT
foreach -Parallel Menjelaskan konstruksi bahasa di Windows PowerShell Workflow.
DESKRIPSI PANJANG
Parameter Paralel kata foreach kunci menjalankan perintah dalam foreach blok skrip sekali untuk setiap item dalam koleksi yang ditentukan.
Item dalam koleksi, seperti disk dalam kumpulan disk, diproses secara paralel. Perintah dalam blok skrip berjalan secara berurutan pada setiap item dalam koleksi.
foreach -Parallel hanya valid dalam Alur Kerja Windows PowerShell.
SINTAKS
foreach -Parallel ($<item> in $<collection>) {
[<Activity1>]
[<Activity2>]
...
}
DESKRIPSI TERPERINCI
Seperti pernyataan foreach di Windows PowerShell, variabel yang berisi kumpulan $<collection> harus ditentukan sebelum pernyataan foreach -Parallel, tetapi variabel yang mewakili item saat ini $<item> didefinisikan dalam pernyataan foreach -Parallel.
Konstruksi foreach -Parallel berbeda dari foreach kata kunci dan parameter Paralel . Kata foreach kunci memproses item dalam koleksi secara berurutan. Parameter Paralel menjalankan perintah dalam blok skrip secara paralel. Anda dapat mengapit blok skrip Paralel di foreach -Parallel blok skrip.
Komputer target dalam alur kerja, seperti yang ditentukan oleh parameter umum alur kerja PSComputerName , selalu diproses secara paralel.
Anda tidak perlu menentukan foreach -Parallel kata kunci untuk tujuan ini.
CONTOH
Alur kerja berikut berisi foreach -Parallel pernyataan yang memproses disk yang didapatkan Get-Disk aktivitas. Perintah dalam foreach -Parallel blok skrip berjalan secara berurutan, tetapi berjalan pada disk secara paralel. Disk mungkin diproses secara bersamaan dan dalam urutan apa pun.
workflow Test-Workflow {
$Disks = Get-Disk
# The disks are processed in parallel.
foreach -Parallel ($Disk in $Disks)
{
# The commands run sequentially on each disk.
$DiskPath = $Disk.Path
$Disk | Initialize-Disk
Set-Disk -Path $DiskPath
}
}
Dalam versi alur kerja ini, Get-Process perintah dan Get-Service dijalankan secara paralel. Fungsi alur kerja berlanjut ke perulangan foreach -Parallel tempat perintah dijalankan secara berurutan, tetapi berjalan pada disk secara paralel. Perintah paralel dan foreach -Parallel perulangan berjalan bersamaan.
workflow Test-Workflow {
#Run commands in parallel.
parallel
{
Get-Process
Get-Service
}
$Disks = Get-Disk
# The disks are processed in parallel.
foreach -Parallel ($Disk in $Disks)
{
# The commands run in parallel on each disk.
parallel
{
Initialize-Disk
inlinescript {.\Get-DiskInventory}
}
}
}