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