Suspend-Job

İş akışı işlerini geçici olarak durdurur.

Syntax

SessionIdParameterSet (Varsayılan)

Suspend-Job
    [-Id] <Int32[]>
    [-Force]
    [-Wait]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

JobParameterSet

Suspend-Job
    [-Job] <Job[]>
    [-Force]
    [-Wait]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

NameParameterSet

Suspend-Job
    [-Name] <String[]>
    [-Force]
    [-Wait]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InstanceIdParameterSet

Suspend-Job
    [-InstanceId] <Guid[]>
    [-Force]
    [-Wait]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

FilterParameterSet

Suspend-Job
    [-Filter] <Hashtable>
    [-Force]
    [-Wait]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

StateParameterSet

Suspend-Job
    [-State] <JobState>
    [-Force]
    [-Wait]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Suspend-Job cmdlet'i iş akışı işlerini askıya alır. Askıya alma, bir iş akışı işini geçici olarak kesme veya duraklatma anlamına gelir. Bu cmdlet, iş akışı çalıştıran kullanıcıların iş akışını askıya almasını sağlar. İş akışını askıya alan iş akışındaki bir komut olan Askıya Alma-İş Akışıhttps://go.microsoft.com/fwlink/?LinkId=267141 etkinliğini tamamlar.

Suspend-Job cmdlet'i yalnızca iş akışı işlerinde çalışır. Start-Job cmdlet'i kullanılarak başlatılanlar gibi standart arka plan işlerinde çalışmaz.

İş akışı işini tanımlamak için işin PSJobTypeName özelliğinde PSWorkflowJob değerini arayın. Belirli bir özel iş türünün Suspend-Job cmdlet'ini destekleyip desteklemediğini belirlemek için özel iş türünün yardım konularına bakın.

Bir iş akışı işini askıya aldığınızda, iş akışı işi bir sonraki denetim noktasına çalışır, askıya alır ve hemen bir iş akışı işi nesnesi döndürür. İşi almadan önce askıya alma işleminin tamamlanmasını beklemek için Suspend-Job parametresini veya Wait-Job cmdlet'ini kullanın. İş akışı işi askıya alındığında, işin State özelliğinin değeri Askıya Alındı olur.

Doğru askıya alma, denetim noktalarına bağlıdır. İş akışı işinin durum veya veri kaybı olmadan sürdürülebilmesi için geçerli iş durumu, meta veriler ve çıkış denetim noktasına kaydedilir. İş akışı işinin denetim noktaları yoksa, doğru şekilde askıya alınamaz. Çalıştırdığınız bir iş akışına denetim noktaları eklemek için PSPersist iş akışı ortak parametresini kullanın. herhangi bir iş akışı işini hemen askıya almak ve denetim noktaları olmayan bir iş akışı işini askıya almak için Force parametresini kullanabilirsiniz, ancak eylem durum ve veri kaybına neden olabilir.

İş akışı işi (PSWorkflowJob) gibi özel bir iş türünde İş cmdlet'ini kullanmadan önce, Import-Module cmdlet'ini kullanarak veya modülde bir cmdlet kullanarak özel iş türünü destekleyen modülü içeri aktarın.

Bu cmdlet, Windows PowerShell 3.0'da kullanıma sunulmuştur.

Örnekler

Örnek 1: İş akışı işini ada göre askıya alma

Bu örnekte bir iş akışı işini askıya alma işlemi gösterilmektedir.

İlk komut Get-SystemLog iş akışını oluşturur. İş akışı, iş akışında bir denetim noktası tanımlamak için CheckPoint-Workflow etkinliğini kullanır.

İkinci komut, iş akışını arka plan işi olarak çalıştırmak için tüm iş akışlarında ortak olan Get-SystemLog parametresini kullanır. Komut, iş akışı işi için kolay bir ad belirtmek üzere JobName iş akışı ortak parametresini kullanır.

Üçüncü komut, Get-Job iş akışı işini almak için LogflowJob cmdlet'ini kullanır. Çıktı, PSJobTypeName özelliğinin değerinin PSWorkflowJob olduğunu gösterir.

Dördüncü komut, Suspend-Job işini askıya almak için LogflowJob cmdlet'ini kullanır. İş denetim noktasına çalışır ve askıya alır.

#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

Örnek 2: İş akışı işini askıya alma ve sürdürme

Bu örnekte bir iş akışı işini askıya alma ve sürdürme işlemi gösterilmektedir.

İlk komut LogWorkflowJob işini askıya alır. Komut hemen döndürür. Çıktı, askıya alınmış olsa bile iş akışı işinin çalışmaya devam ettiğini gösterir.

İkinci komut, LogWorkflowJob işini almak için Get-Job cmdlet'ini kullanır. Çıktı, iş akışı işinin başarıyla askıya alındığını gösterir.

Üçüncü komut, LogWorkflowJob işini almak için Get-Job cmdlet'ini ve sürdürmek için Resume-Job cmdlet'ini kullanır. Çıktı, iş akışı işinin başarıyla sürdürüldüğünü ve şimdi çalıştığını gösterir.

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

Örnek 3: Uzak bilgisayarda iş akışı işini askıya alma

Invoke-Command -ComputerName Srv01 -ScriptBlock {Suspend-Job -Filter @{CustomID="031589"}

Bu komut, Srv01 uzak bilgisayarındaki bir iş akışı işini askıya almak için Invoke-Command cmdlet'ini kullanır. Filtresi parametresinin değeri, CustomID değerini belirten bir karma tablodur. Bu CustomID iş meta verileridir ( PSPrivateMetadata).

Örnek 4: İş akışı işinin askıya almasını bekleyin

Suspend-Job VersionCheck -Wait
Id     Name          PSJobTypeName      State         HasMoreData     Location      Command
--     ----          -------------      -----         -----------     --------      -------
 5     VersionCheck  PSWorkflowJob      Suspended     True            localhost     LogWorkflow

Bu komut VersionCheck iş akışı işini askıya alır. Komut, iş akışı işi askıya alınana kadar beklemek için Wait parametresini kullanır. İş akışı işi bir sonraki denetim noktasına çalıştırıldığında ve askıya alındığında, komut tamamlanır ve iş nesnesini döndürür.

Örnek 5: İş akışı işini askıya alma zorlama

Suspend-Job Maintenance -Force

Bu komut Bakım iş akışı işini zorla askıya alır. Bakım işinin denetim noktaları yok. Doğru şekilde askıya alınamaz ve doğru şekilde sürdürülmeyebilir.

Parametreler

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Cf

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Filter

Koşulların karma tablosunu belirtir. Bu cmdlet tüm koşulları karşılayan işleri askıya alır. Bir karma tablo girin, burada anahtarlar iş özellikleri, değerler ise iş özelliği değerleridir.

Parametre özellikleri

Tür:Hashtable
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

FilterParameterSet
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-Force

İş akışı işini hemen askıya alır. Bu eylem durum ve veri kaybına neden olabilir.

varsayılan olarak, Suspend-Job iş akışı işinin sonraki denetim noktasına kadar çalışmasına izin verir ve sonra askıya alır. Denetim noktası olmayan iş akışı işlerini askıya almak için de bu parametreyi kullanabilirsiniz.

Parametre özellikleri

Tür:SwitchParameter
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:F

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Id

Bu cmdlet'in askıya alan işlerin kimliklerini belirtir.

Kimlik, geçerli oturumdaki işi benzersiz olarak tanımlayan bir tamsayıdır. Anımsamak ve yazmak örnek kimliğinden daha kolaydır, ancak yalnızca geçerli oturumda benzersizdir. Virgülle ayırarak bir veya daha fazla kimlik yazabilirsiniz. İşin kimliğini bulmak için Get-Job cmdlet'ini kullanın.

Parametre özellikleri

Tür:

Int32[]

Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

SessionIdParameterSet
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-InstanceId

Bu cmdlet'in askıya alması gereken işlerin örnek kimliklerini belirtir. Varsayılan değer tüm işlerdir.

Örnek kimliği, bilgisayardaki işi benzersiz olarak tanımlayan bir GUID'dir. bir işin örnek kimliğini bulmak için Get-Jobkullanın.

Parametre özellikleri

Tür:

Guid[]

Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

InstanceIdParameterSet
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-Job

Bu cmdlet'in durdurduğunu iş akışı işlerini belirtir. İş akışı işlerini içeren bir değişken veya iş akışı işlerini alan bir komut girin. İş akışı işlerini Suspend-Job cmdlet'ine de yöneltebilirsiniz.

Parametre özellikleri

Tür:

Job[]

Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

JobParameterSet
Position:0
Zorunlu:True
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-Name

Bu cmdlet'in askıya aldırıldığı işlerin kolay adlarını belirtir. Bir veya daha fazla iş akışı işi adı girin. Joker karakterler desteklenir.

Parametre özellikleri

Tür:

String[]

Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

NameParameterSet
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-State

bir iş durumu belirtir. Bu cmdlet yalnızca belirtilen durumdaki işleri durdurur. Bu parametre için kabul edilebilir değerler şunlardır:

  • Henüz Başlamadı
  • Koşmak
  • Tamamlandı
  • Başarısız oldu
  • Durduruldu
  • Bloklandı
  • Askıya alındı
  • Bağlantısı kesilmiş
  • Askıya alma
  • Durdurma

Suspend-Job yalnızca Çalışıyor durumundaki iş akışı işlerini askıya alır.

İş durumları hakkında daha fazla bilgi için bkz. JobState Sıralaması.

Parametre özellikleri

Tür:JobState
Default value:None
Kabul edilen değerler:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

StateParameterSet
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-Wait

Bu cmdlet'in, iş akışı işi askıya alınmış duruma gelene kadar komut istemini gizlediğini gösterir. varsayılan olarak, Suspend-Job iş akışı işi henüz askıya alınmış durumda olmasa bile hemen döndürür.

Wait parametresi, Suspend-Job cmdlet'ine bir Wait-Job komutu göndermeye eşdeğerdir.

Parametre özellikleri

Tür:SwitchParameter
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-WhatIf

Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Wi

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

Girişler

Job

Tüm iş türlerini bu cmdlet'e yöneltebilirsiniz. Ancak, Suspend-Job desteklenmeyen türde bir iş alırsa, sonlandırıcı bir hata döndürür.

Çıkışlar

Job

Bu cmdlet, askıya alınan işleri döndürür.

Notlar

Windows PowerShell, Suspend-Jobiçin aşağıdaki diğer adları içerir:

  • sujb

Askıya alınan işi kaydetme mekanizması ve konumu, iş türüne bağlı olarak değişebilir. Örneğin, askıya alınan iş akışı işleri varsayılan olarak düz bir dosya deposuna kaydedilir, ancak bir veritabanına da kaydedilebilir.

Çalışıyor durumunda olmayan bir iş akışı işi gönderirseniz Suspend-Job bir uyarı iletisi görüntüler. Uyarıyı bastırmak için WarningAction ortak parametresini SilentlyContinue değeriyle kullanın.

bir iş askıya alma desteği olan bir tür değilse, Suspend-Job sonlandırıcı bir hata döndürür.

Bu cmdlet tarafından askıya alınanlar da dahil olmak üzere askıya alınan iş akışı işlerini bulmak için, iş akışı işlerini Askıya Alındı durumunda almak için cmdlet'in Get-Job parametresini kullanın.

Bazı iş türleri, Windows PowerShell'in işi askıya almasını engelleyen seçeneklere veya özelliklere sahiptir. İşi askıya alma girişimleri başarısız olursa, iş seçeneklerinin ve özelliklerin askıya alma işlemine izin vediğini doğrulayın.