Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
KıSA AÇıKLAMA
foreach -Parallel Windows PowerShell İş Akışı'ndaki dil yapısını açıklar.
UZUN AÇıKLAMA
parametresi, komutları belirtilen koleksiyondaki her öğe için bir foreach betik bloğunda bir kez çalıştırır.
Bir disk koleksiyonundaki disk gibi koleksiyondaki öğeler paralel olarak işlenir. Betik bloğundaki komutlar koleksiyondaki her öğede sırayla çalışır.
foreach -Parallel yalnızca Windows PowerShell İş Akışında geçerlidir.
SÖZ DİZİMİ
foreach -Parallel ($<item> in $<collection>) {
[<Activity1>]
[<Activity2>]
...
}
AYRINTILI AÇIKLAMA
Windows PowerShell'deki foreach deyimi gibi koleksiyon $<collection> içeren değişkenin de foreach -Parallel deyiminden önce tanımlanması gerekir, ancak geçerli öğe $<item> temsil eden değişken foreach -Parallel deyiminde tanımlanır.
Yapısıforeach -Parallel, anahtar sözcüğünden foreach ve Parallel parametresinden farklıdır.
foreach anahtar sözcüğü koleksiyondaki öğeleri sırayla işler.
Parallel parametresi komutları paralel olarak bir betik bloğunda çalıştırır. Paralel betik bloğunu bir betik bloğuna foreach -Parallel kapatabilirsiniz.
PsComputerName iş akışı ortak parametresi tarafından belirtilenler gibi bir iş akışındaki hedef bilgisayarlar her zaman paralel olarak işlenir.
Bu amaç için anahtar sözcüğü belirtmeniz foreach -Parallel gerekmez.
ÖRNEKLER
Aşağıdaki iş akışı, etkinliğin aldığı diskleri foreach -Parallel işleyen bir Get-Disk deyim içerir. Betik bloğundaki foreach -Parallel komutlar sıralı olarak çalışır, ancak disklerde paralel olarak çalışır. Diskler eşzamanlı olarak ve herhangi bir sırada işlenebilir.
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
}
}
İş akışının Get-Process bu sürümünde ve Get-Service komutları paralel olarak çalıştırılır. İş akışı işlevi, komutların sıralı olarak çalıştırıldığı ama disklerde paralel olarak çalıştırıldığı döngüye devam foreach -Parallel eder. Paralel komutlar ve foreach -Parallel döngü eşzamanlı olarak çalışır.
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}
}
}
}
Ayrıca bkz:
PowerShell