Stop-Job (Microsoft.PowerShell.Core)


Stop-Job

Modül:
Microsoft.PowerShell.Core

PowerShell arka plan işini durdurur.

Sözdizimi

Stop-Job
    [-PassThru]
    [-Id] <Int32[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Stop-Job
    [-Job] <Job[]>
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Stop-Job
    [-PassThru]
    [-Name] <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Stop-Job
    [-PassThru]
    [-InstanceId] <Guid[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Stop-Job
    [-PassThru]
    [-State] <JobState>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Stop-Job
    [-PassThru]
    [-Filter] <Hashtable>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Tanım

Stop-Job cmdlet'i, devam eden PowerShell arka plan işlerini durdurur. Bu cmdlet'i, tüm işleri durdurmak veya seçilen işleri adlarına, kimliklerine, örnek kimliklerine veya durumlarına göre ya da bir iş nesnesini Stop-Job'a ileterek durdurmak için kullanabilirsiniz.

Start-Job cmdlet'i veya AsJob parametresi kullanılarak başlatılanlar gibi arka plan işlerini durdurmak için Stop-Job'u kullanabilirsiniz. herhangi bir cmdlet'i kullanın. Bir arka plan işini durdurduğunuzda PowerShell, o iş kuyruğunda bekleyen tüm görevleri tamamlar ve ardından 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 itibaren Stop-Job ayrıca WorkflowJobs ve ScheduledJobs örnekleri gibi özel iş türlerini de durdurur. Özel iş türüne sahip bir işi durdurmak üzere İşi Durdur'u etkinleştirmek için, İşi Durdur komutunu çalıştırmadan önce özel iş türünü destekleyen modülü oturuma aktarın. Import-Module cmdlet'ini kullanarak veya modülde bir cmdlet kullanarak veya alarak. Belirli bir özel iş türü hakkında bilgi için özel iş türü özelliğinin belgelerine bakın.

Örnekler

Örnek 1: Uzak bilgisayardaki bir işi Invoke-Command ile 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 örnek, uzak bilgisayarda çalışan bir işi durdurmak için Stop-Job cmdlet'inin nasıl kullanılacağını gösterir.

İş, Start-Job komutunu uzaktan çalıştırmak için Invoke-Command cmdlet'iyle başlatıldığından, iş nesnesi uzak bilgisayarda depolanır. Bir Stop-Job komutunu uzaktan çalıştırmak için başka bir Invoke-Command komutunu 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 saklar. Komut, bir etki alanı yöneticisinin kimlik bilgilerini kullanır.

İkinci komut, oturumda bir Start-Job komutunu çalıştırmak için Invoke-Command cmdlet'ini kullanır. İşin içindeki komut, Sistem olay günlüğündeki tüm olayları alır. Ortaya çıkan iş nesnesi $j değişkeninde saklanır.

Üçüncü komut işi durdurur. Sunucu01'deki PSSession'da Stop-Job komutunu çalıştırmak için Invoke-Command cmdlet'ini kullanır. İş nesneleri yerel bilgisayardaki bir değişken olan $j'de depolandığından, komut $jKullanma kapsam değiştiricisini kullanır. > yerel bir değişken olarak. Kapsam değiştiricinin Kullanılması hakkında daha fazla bilgi için bkz. about_Remote_Variables.

Komut tamamlandığında iş durdurulur ve $s içindeki PSSession kullanıma hazır hale gelir.

Örnek 2: Bir arka plan işini durdurma

Stop-Job -Name "Job1"

Bu komut İş1 arka plan işini durdurur.

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

Stop-Job -Id 1, 3, 4

Bu komut üç işi durdurur. Onları kimliklerine göre tanımlar.

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

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 durdurun

Stop-Job -State Blocked

Bu komut engellenen tüm işleri durdurur.

Örnek 6: Örnek kimliğine göre bir 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, bir işin InstanceID'sine göre 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 Format-Table komutuna göndermek için bir ardışık düzen operatörü (|) kullanır. Tablo, her işin Örnek Kimliğini içerir. İş durumunu görüntülemek için hesaplanmış bir özellik kullanır.

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

Örnek 7: Uzak bilgisayardaki bir 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 örnek, uzak bilgisayarda çalışan bir işi durdurmak için Stop-Job cmdlet'inin nasıl kullanılacağını gösterir.

İş, Invoke-Command cmdlet'inin AsJob parametresiyle başlatıldığından, Job nesnesi yerel bilgisayarda bulunur. iş uzak bilgisayarda çalışır. Bu nedenle işi durdurmak için yerel bir İşi Durdur komutunu 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'inin döndürdüğü iş nesnesinin aynısı olan bir iş nesnesini döndürür. Komut, iş nesnesini $j değişkenine kaydeder.

İkinci komut, $j değişkenindeki işi Stop-Job'a göndermek için bir ardışık düzen operatörü kullanır. Komut, Stop-Job'u bir iş nesnesini döndürmeye yönlendirmek için PassThru parametresini kullanır. İş nesnesi ekranı işin durumunun Durduruldu olduğunu doğrular.

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.

Tip :

SwitchParameter

Takma adlar:

cf

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Filter

Koşulların karma tablosunu belirtir. Bu cmdlet her koşulu karşılayan işleri durdurur. Anahtarların iş özellikleri ve değerlerin iş özelliği değerleri olduğu bir karma tablosu girin.

Bu parametre yalnızca WorkflowJobs ve ScheduledJobs gibi özel iş türlerinde çalışır. Start-Job cmdlet'i kullanılarak oluşturulanlar gibi standart arka plan işlerinde çalışmaz. Bu parametreye yönelik destek hakkında bilgi için iş türüne ilişkin yardım konusuna bakın.

Bu parametre Windows PowerShell 3,0'da kullanılmaya başlandı.

Tip :

Karma tablo

Konum:

0

Varsayılan değer:

None

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-Id

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

Kimlik, geçerli oturumdaki işi benzersiz şekilde tanımlayan bir tam sayıdır. Örnek kimliğini hatırlamak ve yazmaktan daha kolaydır ancak yalnızca geçerli oturumda benzersizdir. Bir veya daha fazla kimliği virgülle ayırarak yazabilirsiniz. Bir işin kimliğini bulmak için Get-Job yazın.

Tip :

Int32[]

Konum:

0

Varsayılan değer:

Tüm işler

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-InstanceId

Bu cmdlet'in durdurduğu işlerin örnek kimliklerini belirtir. Varsayılan tüm işlerdir.

Örnek kimliği, işi bilgisayardaki benzersiz şekilde tanımlayan bir GUID'dir. Bir işin örnek kimliğini bulmak için Get-Job'u kullanın.

Tip :

Rehber[]

Konum:

0

Varsayılan değer:

Tüm işler

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-Job

Bu cmdlet'in durdurduğu işleri belirtir. İşleri içeren bir değişken veya işleri alan bir komut girin. İşleri Stop-Job cmdlet'ine göndermek için bir işlem hattı operatörünü de kullanabilirsiniz. Varsayılan olarak Stop-Job geçerli oturumda başlatılan tüm işleri siler.

Tip :

İş[]

Konum:

0

Varsayılan değer:

Tüm işler

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-Name

Bu cmdlet'in durdurduğu işlerin kolay adlarını belirtir. İş adlarını virgülle ayrılmış bir listeye girin veya bir iş adı düzeni 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 olacağı garanti edilmediğinden, işleri ada göre durdururken WhatIf ve Confirm parametrelerini kullanın.

Tip :

String[]

Konum:

0

Varsayılan değer:

Tüm işler

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

True

-PassThru

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

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-State

Bir iş durumunu 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 Numaralandırması.

Tip :

JobState

Kabul edilen değerler:

Başlamadı, Çalışıyor, Tamamlandı, Başarısız, Durduruldu, Engellendi, Askıya Alındı, Bağlantı Kesildi, Askıya Alınıyor, Duruyor, Kırılma Noktasında

Konum:

0

Varsayılan değer:

Tüm işler

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-WhatIf

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

Tip :

SwitchParameter

Takma adlar:

wi

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

Girişler

System.Management.Automation.RemotingJob

Bir iş nesnesini bu cmdlet'e aktarabilirsiniz.

Çıkışlar

Yok

Varsayılan olarak bu cmdlet hiçbir çıktı döndürmez.

System.Management.Automation.PSRemotingJob

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

Notlar

PowerShell, Stop-Job için aşağıdaki takma adları içerir:

  • Tüm platformlar:

      spjb

İlgili makaleler