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


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-Joba 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-JobCsak 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

Job

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

Job

Ez a parancsmag visszaadja a felfüggesztett feladatokat.

Jegyzetek

A Windows PowerShell a következő aliasokat Suspend-Jobtartalmazza:

  • 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.