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, 4Bu komut üç işi durdurur. Onları kimliklerine göre tanımlar.
Örnek 4: Tüm arka plan işlerini durdurun
Get-Job | Stop-JobBu komut geçerli oturumdaki tüm arka plan işlerini durdurur.
Örnek 5: Engellenen tüm arka plan işlerini durdurun
Stop-Job -State BlockedBu 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:
NotStartedRunningCompletedFailedStoppedBlockedSuspendedDisconnectedSuspendingStoppingİş 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