Suspend-Job
Ideiglenesen leállítja a munkafolyamat-feladatokat.
Syntax
Suspend-Job
[-Force]
[-Wait]
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Suspend-Job
[-Job] <Job[]>
[-Force]
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Suspend-Job
[-Force]
[-Wait]
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Suspend-Job
[-Force]
[-Wait]
[-InstanceId] <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Suspend-Job
[-Force]
[-Wait]
[-Filter] <Hashtable>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Suspend-Job
[-Force]
[-Wait]
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
A Suspend-Job
parancsmag felfüggeszti a munkafolyamat-feladatokat. A felfüggesztés azt jelenti, hogy ideiglenesen megszakít vagy szüneteltet egy munkafolyamat-feladatot. Ez a parancsmag lehetővé teszi a munkafolyamatokat futtató felhasználók számára a munkafolyamat felfüggesztését. Kiegészíti a Munkafolyamathttps://go.microsoft.com/fwlink/?LinkId=267141 felfüggesztése tevékenységet, amely a munkafolyamat egyik parancsa, amely felfüggeszti a munkafolyamatot.
A Suspend-Job
parancsmag csak munkafolyamat-feladatokon működik. Nem működik szabványos háttérfeladatokon, például a Start-Job
parancsmaggal indított feladatokon.
Munkafolyamat-feladat azonosításához keresse meg a PSWorkflowJob értékét a feladat PSJobTypeName tulajdonságában. Annak megállapításához, hogy egy adott egyéni feladattípus támogatja-e a Suspend-Job
parancsmagot, tekintse meg az egyéni feladattípus súgótémaköröket.
Amikor felfüggeszt egy munkafolyamat-feladatot, a munkafolyamat-feladat a következő ellenőrzőpontra fut, felfüggeszti és azonnal visszaad egy munkafolyamat-feladatobjektumot. Ha meg szeretné várni, hogy a felfüggesztés befejeződjön a feladat lekérése előtt, használja a parancsmag Várakozás paraméterétSuspend-Job
.Wait-Job
Ha a munkafolyamat-feladat fel van függesztve, a feladat State tulajdonságának értéke fel van függesztve.
A helyes felfüggesztés ellenőrzőpontokra támaszkodik. A rendszer az aktuális feladat állapotát, metaadatait és kimenetét az ellenőrzőpontba menti, így a munkafolyamat-feladat állapot- vagy adatvesztés nélkül folytatható. Ha a munkafolyamat-feladat nem rendelkezik ellenőrzőpontokkal, nem függeszthető fel megfelelően. Ha ellenőrzőpontokat szeretne hozzáadni egy futó munkafolyamathoz, használja a PSPersist munkafolyamat gyakori paraméterét. A Force paraméterrel azonnal felfüggesztheti a munkafolyamat-feladatokat, és felfüggeszthet egy olyan munkafolyamat-feladatot, amely nem rendelkezik ellenőrzőpontokkal, de a művelet állapot- és adatvesztést okozhat.
Mielőtt egy feladatparancsmagot használ egy egyéni feladattípushoz, például egy munkafolyamat-feladathoz (PSWorkflowJob) importálja az egyéni feladattípust támogató modult a parancsmag használatával Import-Module
, vagy a modul parancsmagjának használatával vagy használatával.
Ezt a parancsmagot a Windows PowerShell 3.0-ban vezettük be.
Példák
1. példa: Munkafolyamat-feladat felfüggesztése név szerint
Ez a példa bemutatja, hogyan függeszthet fel munkafolyamat-feladatokat.
Az első parancs létrehozza a munkafolyamatot Get-SystemLog
. A munkafolyamat a CheckPoint-Workflow
tevékenység használatával határoz meg egy ellenőrzőpontot a munkafolyamatban.
A második parancs az összes munkafolyamatra jellemző AsJob paramétert használja a Get-SystemLog
munkafolyamat háttérfeladatként való futtatásához. A parancs a JobName munkafolyamat közös paraméterével adja meg a munkafolyamat-feladat rövid nevét.
A harmadik parancs a Get-Job
parancsmagot használja a munkafolyamat-feladat LogflowJob
lekéréséhez. A kimenet azt mutatja, hogy a PSJobTypeName tulajdonság értéke PSWorkflowJob.
A negyedik parancs a Suspend-Job
parancsmaggal függeszti fel a LogflowJob
feladatot. A feladat az ellenőrzőpontra fut, majd felfüggeszti.
#Sample Workflow
Workflow Get-SystemLog
{
$Events = Get-WinEvent -LogName System
CheckPoint-Workflow
InlineScript {\\Server01\Scripts\Analyze-SystemEvents.ps1 -Events $Events}
}
Get-SystemLog -AsJob -JobName "LogflowJob"
Get-Job -Name LogflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 LogflowJob PSWorkflowJob Running True localhost Get-SystemLog
Suspend-Job -Name LogflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 LogflowJob PSWorkflowJob Suspended True localhost Get-SystemLog
2. példa: Munkafolyamat-feladat felfüggesztése és folytatása
Ez a példa bemutatja, hogyan függeszthet fel és folytathat munkafolyamat-feladatokat.
Az első parancs felfüggeszti a LogWorkflowJob-feladatot. A parancs azonnal visszatér. A kimenet azt mutatja, hogy a munkafolyamat-feladat továbbra is fut, annak ellenére, hogy fel van függesztve.
A második parancs a Get-Job
parancsmagot használja a LogWorkflowJob feladat lekéréséhez. A kimenet azt mutatja, hogy a munkafolyamat-feladat sikeresen fel van függesztve.
A harmadik parancs a parancsmagot használja a Get-Job
LogWorkflowJob feladat lekéréséhez, a parancsmag pedig a Resume-Job
folytatáshoz. A kimenet azt mutatja, hogy a munkafolyamat-feladat sikeresen folytatódott, és most fut.
Suspend-Job -Name LogWorkflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Running True localhost LogWorkflow
Get-Job -Name LogWorkflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Suspended True localhost LogWorkflow
Get-Job -Name LogWorkflowJob | Resume-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Running True localhost LogWorkflow
3. példa: Munkafolyamat-feladat felfüggesztése távoli számítógépen
Invoke-Command -ComputerName Srv01 -Scriptblock {Suspend-Job -Filter @{CustomID="031589"}
Ez a parancs a Invoke-Command
parancsmaggal függeszt fel egy munkafolyamat-feladatot az Srv01 távoli számítógépen. A Szűrő paraméter értéke egy kivonattábla, amely egy CustomID értéket határoz meg.
Ez a CustomID a feladat metaadatai (PSPrivateMetadata).
4. példa: Várakozás a munkafolyamat-feladat felfüggesztésére
Suspend-Job VersionCheck -Wait
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
5 VersionCheck PSWorkflowJob Suspended True localhost LogWorkflow
Ez a parancs felfüggeszti a VersionCheck munkafolyamat-feladatot. A parancs a Wait paraméter használatával várja meg a munkafolyamat-feladat felfüggesztését. Amikor a munkafolyamat-feladat a következő ellenőrzőpontra fut, és fel van függesztve, a parancs befejeződik, és visszaadja a feladatobjektumot.
5. példa: Munkafolyamat-feladat felfüggesztése
Suspend-Job Maintenance -Force
Ez a parancs kényszerítve függeszti fel a karbantartási munkafolyamat-feladatot. A Karbantartási feladat nem rendelkezik ellenőrzőpontokkal. Nem függeszthető fel megfelelően, és lehet, hogy nem megfelelően folytatódik.
Paraméterek
-Confirm
Jóváhagyást kér a parancsmag futtatása előtt.
Típus: | SwitchParameter |
Aliasok: | cf |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Filter
A feltételek kivonattábláját adja meg. Ez a parancsmag felfüggeszti az összes feltételnek megfelelő feladatokat. Adjon meg egy kivonattáblát, amelyben a kulcsok feladattulajdonságok, az értékek pedig a feladattulajdonságok értékei.
Típus: | Hashtable |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Force
A munkafolyamat-feladat azonnali felfüggesztése. Ez a művelet állapot- és adatvesztést okozhat.
Alapértelmezés szerint lehetővé teszi a munkafolyamat-feladat futtatását a következő ellenőrzőpontig, Suspend-Job
majd felfüggeszti azt.
Ezzel a paraméterel is felfüggesztheti az ellenőrzőpontokkal nem rendelkező munkafolyamat-feladatokat.
Típus: | SwitchParameter |
Aliasok: | F |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Id
Megadja a parancsmag által felfüggesztett feladatok azonosítóit.
Az azonosító egy egész szám, amely egyedileg azonosítja a feladatot az aktuális munkamenetben. Egyszerűbb megjegyezni és begépelni, mint a példányazonosítót, de csak az aktuális munkamenetben egyedi. Beírhat egy vagy több azonosítót vesszővel elválasztva. A feladat azonosítójának megkereséséhez használja a Get-Job
parancsmagot.
Típus: | Int32[] |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-InstanceId
Megadja a parancsmag által felfüggesztett feladatok példányazonosítóit. Az alapértelmezett beállítás az összes feladat.
A példányazonosító egy GUID, amely egyedileg azonosítja a feladatot a számítógépen. Egy feladat példányazonosítójának megkereséséhez használja Get-Job
a következőt: .
Típus: | Guid[] |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Job
Megadja a parancsmag által leállított munkafolyamat-feladatokat. Adjon meg egy változót, amely tartalmazza a munkafolyamat-feladatokat vagy a munkafolyamat-feladatokat lekérő parancsot. A munkafolyamat-feladatokat a Suspend-Job
parancsmagra is átirányíthatja.
Típus: | Job[] |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Name
Azoknak a feladatoknak a rövid nevét adja meg, amelyeket a parancsmag felfüggeszt. Adjon meg egy vagy több munkafolyamat-feladatnevet. A helyettesítő karakterek támogatottak.
Típus: | String[] |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-State
Feladat állapotát adja meg. Ez a parancsmag csak a megadott állapotú feladatokat állítja le. A paraméter elfogadható értékei a következők:
- NotStarted
- Futó
- Befejeződött
- Sikertelen
- Leállítva
- Blokkolva
- Felfüggesztve
- Leválasztva
- Felfüggesztés
- Leállás
Suspend-Job
Csak a munkafolyamat-feladatokat függeszti fel futó állapotban.
A feladatállapotokról további információt a JobState Enumerálás című témakörben talál.
Típus: | JobState |
Elfogadott értékek: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Wait
Azt jelzi, hogy ez a parancsmag mindaddig letiltja a parancssort, amíg a munkafolyamat-feladat fel nem függesztett állapotban van. Alapértelmezés szerint Suspend-Job
azonnal visszatér, még akkor is, ha a munkafolyamat-feladat még nincs felfüggesztett állapotban.
A Várakozás paraméter egyenértékű a parancs parancs parancshoz való Wait-Job
futtatásávalSuspend-Job
.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-WhatIf
Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.
Típus: | SwitchParameter |
Aliasok: | wi |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
Bevitelek
Ehhez a parancsmaghoz minden típusú feladatot be lehet csövezni. Ha Suspend-Job
azonban egy nem támogatott típusú feladatot kap, az végződési hibát ad vissza.
Kimenetek
Ez a parancsmag visszaadja a felfüggesztett feladatokat.
Jegyzetek
A Windows PowerShell a következő aliasokat Suspend-Job
tartalmazza:
sujb
A felfüggesztett feladatok mentésének mechanizmusa és helye a feladat típusától függően változhat. A felfüggesztett munkafolyamat-feladatok például alapértelmezés szerint egy egyszerű fájltárolóba vannak mentve, de egy adatbázisban is menthetők.
Ha olyan munkafolyamat-feladatot küld el, amely nem Fut állapotban van, Suspend-Job
figyelmeztető üzenet jelenik meg. A figyelmeztetés letiltásához használja a WarningAction common paramétert a SilentlyContinue értékkel.
Ha egy feladat nem olyan típusú, amely támogatja a felfüggesztést, Suspend-Job
megszüntetési hibát ad vissza.
A felfüggesztett munkafolyamat-feladatok megkereséséhez , beleértve a parancsmag által felfüggesztett feladatokat is, használja a parancsmag Állapot paraméterét a Get-Job
munkafolyamat-feladatok felfüggesztett állapotban való lekéréséhez.
Egyes feladattípusok olyan beállításokkal vagy tulajdonságokkal rendelkeznek, amelyek megakadályozzák, hogy a Windows PowerShell felfüggesztse a feladatot. Ha nem sikerül felfüggeszteni a feladatot, ellenőrizze, hogy a feladat beállításai és tulajdonságai engedélyezik-e a felfüggesztést.