Megosztás a következőn keresztül:


about_Sequence

Rövid leírás

sequence A kijelölt tevékenységeket egymás után futtató kulcsszót ismerteti.

Hosszú leírás

A sequence kulcsszó egymás után futtatja a kijelölt munkafolyamat-tevékenységeket. A munkafolyamat-tevékenységek a megjelenésük sorrendjében futnak, és nem futnak párhuzamosan. A sequence kulcsszó csak PowerShell-munkafolyamatokban érvényes.

A sequence kulcsszó egy parallel szkriptblokkban a kijelölt parancsok egymás utáni futtatására szolgál.

Mivel a munkafolyamat-tevékenységek alapértelmezés szerint szekvenciálisan futnak, a sequence kulcsszó csak egy parallel szkriptblokkban érvényes. Ha a sequence kulcsszó nem szerepel egy parallel szkriptblokkban, akkor érvényes, de hatástalan.

A sequence szkriptblokk lehetővé teszi több parancs párhuzamos futtatását, lehetővé téve a függő parancsok egymás utáni futtatását.

Syntax

Munkafolyamat sequence használatával

workflow <Verb-Noun> {
    sequence {
        [<Activity>]
        [<Activity>]
        # ...
    }
}

Munkafolyamat parallel és sequence használatával

workflow <Verb-Noun> {
    parallel {
        [<Activity>]
        sequence {
            [<Activity>]
            [<Activity>]
            # ...
        }
    }
}

Részletes leírás

A szkriptblokkban lévő parallel parancsok egyidejűleg is futtathatók. A futtatás sorrendjét a rendszer nem határozza meg. Ez a funkció javítja a szkript-munkafolyamatok teljesítményét.

Szkriptblokk használatával sequence egymás után futtathatja a kijelölt tevékenységeket, még akkor is, ha a tevékenységek egy parallel szkriptblokkban jelennek meg.

A szkriptblokkok sequence tevékenységei egymás után futnak a lista szerinti sorrendben. A szkriptblokkokban lévő sequence tevékenységek csak az előző tevékenység befejeződése után kezdődnek.

Ha azonban a sequence szkriptblokk egy parallel szkriptblokkban jelenik meg, a szkriptblokk futtatásának sequence sorrendje nem lesz meghatározva. Előfordulhat, hogy a szkriptblokk más tevékenységei parallel előtt, után vagy egyidejűleg fut.

A következő munkafolyamat például egy parallel szkriptblokkot tartalmaz, amely folyamatokat és szolgáltatásokat lekérő tevékenységeket futtat a számítógépen. A parallel szkriptblokk olyan szkriptblokkot sequence tartalmaz, amely információkat kap egy fájltól, és az adatokat egy szkript bemeneteként használja.

A Get-Process, Get-Serviceés a gyorsjavítással kapcsolatos parancsok egymástól függetlenek. A parancsok egyidejűleg vagy bármilyen sorrendben futtathatók. A gyorsjavítási adatokat lekérő parancsnak azonban az azt használó parancs előtt kell futnia.

workflow Test-Workflow {
    parallel {
    Get-Process
    Get-Service

    sequence {
        $Hotfix = Get-Content 'D:\HotFixes\Required.txt'
        foreach ($h in $Hotfix) {'D:\Scripts\Verify-Hotfix' -Hotfix $h}
        }
    }
}

Lásd még