Suspend-Job

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

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

cmdlet iş Suspend-Job 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ışında iş akışını askıya alan bir komut olan Askıya Alma-İş Akışıhttps://go.microsoft.com/fwlink/?LinkId=267141 etkinliğini tamamlar.

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

bir iş 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 cmdlet'i destekleyip desteklemediğini Suspend-Job 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 wait parametresini Suspend-Job veya cmdlet'ini Wait-Job kullanın. İş akışı işi askıya alındığında, işin State özelliğinin değeri Askıya Alınır.

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, cmdlet'ini kullanarak Import-Module 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 iş akışını oluşturur Get-SystemLog . İş akışı, iş akışında CheckPoint-Workflow bir denetim noktası tanımlamak için 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 AsJob parametresini Get-SystemLog kullanır. Komut, iş akışı işi için kolay bir ad belirtmek üzere JobName iş akışı ortak parametresini kullanır.

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

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

#Sample WorkflowWorkflow Get-SystemLog
{
    $Events = Get-WinEvent -LogName System
    CheckPoint-Workflow
    InlineScript {\\Server01\Scripts\Analyze-SystemEvents.ps1 -Events $Events}
}

PS C:\> Get-SystemLog -AsJob -JobName "Get-SystemLogJob"

PS C:\> Get-Job -Name Get-SystemLogJob
Id     Name              PSJobTypeName   State       HasMoreData     Location   Command
--     ----              -------------   -----       -----------     --------   -------
4      Get-SystemLogJob  PSWorkflowJob   Running     True            localhost   Get-SystemLog

PS C:\> Suspend-Job -Name Get-SystemLogJob
Id     Name              PSJobTypeName   State       HasMoreData     Location   Command
--     ----              -------------   -----       -----------     --------   -------
4      Get-SystemLogJob  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 cmdlet'ini kullanır Get-Job . Çıktı, iş akışı işinin başarıyla askıya alındığını gösterir.

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

PS C:\> Suspend-Job -Name LogWorkflowJob
Id     Name          PSJobTypeName      State         HasMoreData     Location             Command
--     ----          -------------      -----         -----------     --------             -------
67     LogflowJob    PSWorkflowJob      Running       True            localhost            LogWorkflow

PS C:\> Get-Job -Name LogWorkflowJob
Id     Name          PSJobTypeName      State         HasMoreData     Location             Command
--     ----          -------------      -----         -----------     --------             -------
67     LogflowJob    PSWorkflowJob      Suspended     True            localhost            LogWorkflow

PS C:\> 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

PS C:\> 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 cmdlet'ini kullanır Invoke-Command . Filter 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

PS C:\> 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

PS C:\> 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.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Hashtable
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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ını ve ardından askıya almasını sağlar. Denetim noktası olmayan iş akışı işlerini askıya almak için de bu parametreyi kullanabilirsiniz.

Type:SwitchParameter
Aliases:F
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 cmdlet'ini Get-Job kullanın.

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 kullanın Get-Job.

Type:Guid[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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. ayrıca iş akışı işlerini cmdlet'ine de yöneltebilirsiniz Suspend-Job .

Type:Job[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 desteklenmektedir.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-State

bir iş durumu belirtir. Bu cmdlet yalnızca belirtilen durumdaki işleri durdurur. Bu parametrenin kabul edilebilir değerleri şunlardır:

  • NotStarted
  • Çalışıyor
  • Tamamlandı
  • Başarısız
  • Durduruldu
  • Engellendi
  • Askıya alındı
  • Bağlantı kesildi
  • Askıya alınıyor
  • Durduruluyor

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

İş durumları hakkında daha fazla bilgi için bkz . JobState Numaralandırması.

Type:JobState
Accepted values:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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, cmdlet'ine bir Suspend-Job komut göndermekle Wait-Job eşdeğerdir.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Girişler

Job

Tüm iş türlerini bu cmdlet'e yöneltebilirsiniz. Ancak, desteklenmeyen türde bir iş alırsa Suspend-Job , 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 için aşağıdaki diğer adları Suspend-Jobiç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ı engellemek için WarningAction ortak parametresini SilentlyContinue değeriyle kullanın.

bir iş askıya alma desteği olan bir türde 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 State 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.