Stop-Job

PowerShell arka plan işini durdurur.

Syntax

SessionIdParameterSet (Varsayılan)

Stop-Job
    [-Id] <Int32[]>
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

JobParameterSet

Stop-Job
    [-Job] <Job[]>
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

NameParameterSet

Stop-Job
    [-Name] <String[]>
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InstanceIdParameterSet

Stop-Job
    [-InstanceId] <Guid[]>
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

StateParameterSet

Stop-Job
    [-State] <JobState>
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

FilterParameterSet

Stop-Job
    [-Filter] <Hashtable>
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Stop-Job cmdlet'i devam eden PowerShell arka plan işlerini durdurur. Bu cmdlet'i kullanarak tüm işleri durdurabilir veya seçilen işleri adına, kimliğine, örnek kimliğine veya durumuna göre durdurabilir ya da bir iş nesnesini Stop-Jobgeçirerek kullanabilirsiniz.

Stop-Job cmdlet'i veya herhangi bir cmdlet'in Start-Job parametresi kullanılarak başlatılan arka plan işlerini durdurmak için kullanabilirsiniz. Bir arka plan işini durdurduğunuzda PowerShell, bu iş kuyruğunda bekleyen tüm görevleri tamamlar ve sonra işi sonlandırır. Bu komut gönderildikten sonra kuyruğa yeni görev eklenmez.

Bu cmdlet arka plan işlerini silmez. Bir işi silmek için Remove-Job cmdlet'ini kullanın.

Windows PowerShell 3.0'dan başlayarak Stop-JobWorkflowJobs gibi özel iş türlerini ve ScheduledJobsörneklerini de durdurur. Stop-Job özel iş türüne sahip bir işi durdurmasını sağlamak için, Stop-Job cmdlet'ini kullanarak veya modülde bir cmdlet'i kullanarak veya alarak bir Import-Module komutu çalıştırmadan önce özel iş türünü destekleyen modülü oturuma aktarın. Belirli bir özel iş türü hakkında bilgi için özel iş türü özelliğinin belgelerine bakın.

Örnekler

Örnek 1: Invoke-Command ile uzak bir bilgisayarda işi durdurma

$s = New-PSSession -ComputerName Server01 -Credential Domain01\Admin02
$j = Invoke-Command -Session $s -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog -LogName System}}
Invoke-Command -Session $s -ScriptBlock { Stop-Job -Job $Using:j }

Bu örnekte, uzak bilgisayarda çalışan bir işi durdurmak için Stop-Job cmdlet'inin nasıl kullanılacağı gösterilmektedir.

İş, Invoke-Command komutunu uzaktan çalıştırmak için Start-Job cmdlet'iyle başlatıldığından, iş nesnesi uzak bilgisayarda depolanır. Bir Invoke-Command komutunu uzaktan çalıştırmak için başka bir Stop-Job komutu kullanmanız gerekir. Uzak arka plan işleri hakkında daha fazla bilgi için bkz. about_Remote_Jobs.

İlk komut, Server01 bilgisayarında bir PowerShell oturumu (PSSession) oluşturur ve ardından oturum nesnesini $s değişkeninde depolar. komutu, bir etki alanı yöneticisinin kimlik bilgilerini kullanır.

İkinci komut, oturumda bir Invoke-Command komutu çalıştırmak için Start-Job cmdlet'ini kullanır. İşteki komut, Sistem olay günlüğündeki tüm olayları alır. Sonuçta elde edilen iş nesnesi $j değişkeninde depolanır.

Üçüncü komut işi durdurur. Invoke-Command cmdlet'ini kullanarak Server01'deki Stop-Job bir komutu çalıştırır. İş nesneleri yerel bilgisayardaki bir değişken olan $jiçinde depolandığından, komut Using: yerel değişken olarak tanımlamak için $j kapsam değiştiricisini kullanır. Using: kapsam değiştirici hakkında daha fazla bilgi için bkz. about_Remote_Variables.

Komut tamamlandığında iş durdurulur ve $s kullanılabilir.

Örnek 2: Arka plan işini durdurma

Stop-Job -Name "Job1"

Bu komut Job1 arka plan işini durdurur.

Örnek 3: Birkaç arka plan işini durdurma

Stop-Job -Id 1, 3, 4

Bu komut üç işi durdurur. Bunları kimlikleriyle tanımlar.

Örnek 4: Tüm arka plan işlerini durdurma

Get-Job | Stop-Job

Bu komut geçerli oturumdaki tüm arka plan işlerini durdurur.

Örnek 5: Engellenen tüm arka plan işlerini durdurma

Stop-Job -State Blocked

Bu komut engellenen tüm işleri durdurur.

Örnek 6: Örnek kimliğine göre işi durdurma

Get-Job | Format-Table ID, Name, Command, @{Label="State";Expression={$_.JobStateInfo.State}},
InstanceId -Auto
Id Name Command                 State  InstanceId
-- ---- -------                 -----  ----------
1 Job1 Start-Service schedule Running 05abb67a-2932-4bd5-b331-c0254b8d9146
3 Job3 Start-Service schedule Running c03cbd45-19f3-4558-ba94-ebe41b68ad03
5 Job5 Get-Service s*         Blocked e3bbfed1-9c53-401a-a2c3-a8db34336adf
Stop-Job -InstanceId e3bbfed1-9c53-401a-a2c3-a8db34336adf

Bu komutlar, InstanceIdtemelinde bir işin nasıl durdurulacağını gösterir.

İlk komut, geçerli oturumdaki işleri almak için Get-Job cmdlet'ini kullanır. komut, işleri her işin belirtilen özelliklerinin bir tablosunu görüntüleyen bir | komutuna göndermek için bir işlem hattı işleci (Format-Table) kullanır. Tablo, her işin InstanceId içerir. İş durumunu görüntülemek için hesaplanan bir özellik kullanır.

İkinci komut, seçili işi durdurmak için Stop-Job parametresine sahip bir komutu kullanır.

Örnek 7: Uzak bilgisayarda işi durdurma

$j = Invoke-Command -ComputerName Server01 -ScriptBlock {Get-EventLog -LogName System} -AsJob
$j | Stop-Job -PassThru
Id    Name    State      HasMoreData     Location         Command
--    ----    ----       -----------     --------         -------
5     Job5    Stopped    True            user01-tablet    Get-EventLog -LogName Sy...

Bu örnekte, uzak bilgisayarda çalışan bir işi durdurmak için Stop-Job cmdlet'inin nasıl kullanılacağı gösterilmektedir.

İş, cmdlet'in Invoke-Command parametresiyle başlatıldığından, job nesnesi uzak bilgisayarda çalıştırılsa bile yerel bilgisayarda bulunur. Bu nedenle, işi durdurmak için yerel bir Stop-Job komutu kullanabilirsiniz.

İlk komut, Server01 bilgisayarında bir arka plan işi başlatmak için Invoke-Command cmdlet'ini kullanır. Komut, uzak komutu arka plan işi olarak çalıştırmak için AsJob parametresini kullanır.

Bu komut, Start-Job cmdlet'in döndürdüğü aynı iş nesnesi olan bir iş nesnesi döndürür. komutu, iş nesnesini $j değişkenine kaydeder.

İkinci komut, $j değişkenindeki işi Stop-Jobgöndermek için bir işlem hattı işleci kullanır. komut, bir iş nesnesi döndürmeye yönlendirmek için Stop-Job parametresini kullanır. İş nesnesi görüntüsü, işin durumunun Durduruldu olduğunu onaylar.

Uzak arka plan işleri hakkında daha fazla bilgi için bkz. about_Remote_Jobs.

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 her koşula uyan işleri durdurur. Bir karma tablo girin, burada anahtarlar iş özellikleri, değerler ise iş özelliği değerleridir.

Bu parametre yalnızca WorkflowJobs ve ScheduledJobsgibi özel iş türlerinde çalışır. Start-Job cmdlet'i kullanılarak oluşturulanlar gibi standart arka plan işlerinde çalışmaz. Bu parametre desteği hakkında bilgi için iş türü için yardım konusuna bakın.

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

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

-Id

Bu cmdlet'in durdurduğunu işlerin kimliklerini belirtir. Varsayılan değer geçerli oturumdaki tüm işlerdir.

Kimlik, geçerli oturumdaki işi benzersiz olarak tanımlayan bir tamsayıdır. "Örnek kimliğinden daha kolay hatırlanır ve yazılır, ancak yalnızca mevcut oturumda benzersizdir." Virgülle ayırarak bir veya daha fazla kimlik yazabilirsiniz. İşin kimliğini bulmak için Get-Jobyazın.

Parametre özellikleri

Tür:

Int32[]

Default value:All jobs
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 durdurduğunu 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:All jobs
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şleri belirtir. İşleri içeren bir değişken veya işleri getiren bir komut girin. İşleri Stop-Job cmdlet'ine göndermek için bir işlem hattı işleci de kullanabilirsiniz. Varsayılan olarak, Stop-Job geçerli oturumda başlatılan tüm işleri siler.

Parametre özellikleri

Tür:

Job[]

Default value:All jobs
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 durdurduğunu işlerin kolay adlarını belirtir. İş adlarını virgülle ayrılmış bir listeye girin veya iş adı deseni girmek için joker karakterler (*) kullanın. Varsayılan olarak, Stop-Job geçerli oturumda oluşturulan tüm işleri durdurur.

Kolay adın benzersiz olması garanti edilmediğinden, işleri ada göre durdururken WhatIf kullanın ve parametrelerini onaylayın.

Parametre özellikleri

Tür:

String[]

Default value:All jobs
Joker karakterleri destekler:True
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

-PassThru

Üzerinde çalıştığınız öğeyi temsil eden bir nesne döndürür. Varsayılan olarak, bu cmdlet herhangi bir çıkış oluşturmaz.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
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

-State

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

  • NotStarted
  • Running
  • Completed
  • Failed
  • Stopped
  • Blocked
  • Suspended
  • Disconnected
  • Suspending
  • Stopping

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

Parametre özellikleri

Tür:JobState
Default value:All jobs
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

-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

System.Management.Automation.RemotingJob

Bir iş nesnesini bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

None

Varsayılan olarak, bu cmdlet çıkış döndürmez.

System.Management.Automation.PSRemotingJob

PassThru parametresini kullandığınızda, bu cmdlet bir iş nesnesi döndürür.

Notlar

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

  • Tüm platformlar:
    • spjb