about_Foreach-Parallel
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 koleksi $<collection>
harus ditentukan sebelum ForEach -Parallel
pernyataan, tetapi variabel yang mewakili item $<item>
saat ini didefinisikan dalam ForEach -Parallel
pernyataan.
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}
}
}
}
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