Suspend-Job
İş akışı işlerini geçici olarak durdurur.
Sözdizimi
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
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.
Tür: | SwitchParameter |
Diğer adlar: | cf |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Filter
Koşulların karma tablosunu belirtir. Bu cmdlet tüm koşulları karşılayan işleri askıya alır. Anahtarların iş özellikleri, değerlerin ise iş özelliği değerleri olduğu bir karma tablo girin.
Tür: | Hashtable |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | 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.
Tür: | SwitchParameter |
Diğer adlar: | F |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | 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.
Tür: | Int32[] |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | 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-Job
kullanın.
Tür: | Guid[] |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | 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.
Tür: | Job[] |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | 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.
Tür: | String[] |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | 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:
- Başlamadı
- Koşarak
- Tamamlandı
- Başarısız
- Durdu
- Engellenmiş
- Askıya
- Bağlantısı kesilmiş
- Askıya
- 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 Numaralandırması.
Tür: | JobState |
Kabul edilen değerler: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | 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.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-WhatIf
Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmaz.
Tür: | SwitchParameter |
Diğer adlar: | wi |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
Girişler
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
Bu cmdlet, askıya alınan işleri döndürür.
Notlar
Windows PowerShell, Suspend-Job
iç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.
İlişkili Bağlantılar
PowerShell