Remove-Job (Microsoft.PowerShell.Core)
Remove-Job
- Modül:
- Microsoft.PowerShell.Core
PowerShell arka plan işini siler.
Sözdizimi
Remove-Job
[-Force]
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]Remove-Job
[-Job] <Job[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Remove-Job
[-Force]
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]Remove-Job
[-Force]
[-InstanceId] <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]Remove-Job
[-Force]
[-Filter] <Hashtable>
[-WhatIf]
[-Confirm]
[<CommonParameters>]Remove-Job
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]Remove-Job
[-Command <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Tanım
Remove-Job cmdlet'i, Start-Job cmdlet'i veya Invoke-Command gibi aşağıdakileri destekleyen cmdlet'ler tarafından başlatılan PowerShell arka plan işlerini siler: AsJob parametresi.
Tüm işleri silmek veya seçili işleri silmek için İşi Kaldır'ı kullanabilirsiniz. İşler Ad, Kimlik, Örnek Kimliği, Komut veya Durum ile tanımlanır. güçlü>. Veya bir iş nesnesi işlem hattından Remove-Job'a gönderilebilir. Parametreler veya parametre değerleri olmadan Remove-Job'un hiçbir etkisi yoktur.
PowerShell 3.0'dan bu yana Remove-Job, zamanlanmış işler ve iş akışı işleri gibi özel iş türlerini silebilir. Örneğin, İşi Kaldır, zamanlanmış işi, zamanlanmış işin diskteki tüm örneklerini ve tetiklenen tüm iş örneklerinin sonuçlarını siler.
Çalışan bir işi silmeye çalışırsanız Remove-Job işlemi başarısız olur. Çalışan bir işi durdurmak için Stop-Job cmdlet'ini kullanın. Veya çalışan bir işi silmek için Force parametresiyle birlikte Remove-Job komutunu kullanın.
Siz arka plan işini silene veya PowerShell oturumunu kapatana kadar işler genel iş önbelleğinde kalır.
Örnekler
Örnek 1: Bir işi adını kullanarak silme
Bu örnekte, bir işi ada göre silmek için bir değişken ve işlem hattı kullanılır.
$batch = Get-Job -Name BatchJob
$batch | Remove-JobGet-Job, BatchJob işini belirtmek için Ad parametresini kullanır. İş nesnesi $batch değişkeninde saklanır. $batch içindeki nesne ardışık düzen üzerinden Remove-Job'a gönderilir.
Bir alternatif, Remove-Job -Job $batch gibi Job parametresini kullanmaktır.
Örnek 2: Bir oturumdaki tüm işleri silin
Bu örnekte geçerli PowerShell oturumundaki tüm işler silinir.
Get-job | Remove-JobGet-Job geçerli PowerShell oturumundaki tüm işleri alır. İş nesneleri ardışık düzende Remove-Job'a gönderilir.
Örnek 3: Başlatılmamış işleri silme
Bu örnek, geçerli PowerShell oturumundaki henüz başlamamış tüm işleri siler.
Remove-Job -State NotStartedRemove-Job, iş durumunu belirtmek için Durum parametresini kullanır.
Örnek 4: Kolay ad kullanarak işleri silin
Bu örnek, çalışmakta olan işler de dahil olmak üzere geçerli oturumdaki toplu* ile biten kolay adlara sahip tüm işleri siler.
Remove-Job -Name *batch -ForceRemove-Job, bir iş adı modelini belirtmek için Ad parametresini kullanır. Desen, batch ile biten tüm iş adlarını bulmak için yıldız işareti (*) joker karakterini içerir. Zorla parametresi çalışan işleri siler.
Örnek 5: Invoke-Command tarafından oluşturulan bir işi silin
Bu örnek, uzak bilgisayarda AsJob parametresiyle Invoke-Command kullanılarak başlatılan bir işi kaldırır.
Örnekte AsJob parametresi kullanıldığı için iş nesnesi yerel bilgisayarda oluşturulur. Ancak iş uzak bir bilgisayarda çalışıyor. Sonuç olarak işi yönetmek için yerel komutları kullanırsınız.
$job = Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process} -AsJob
$job | Remove-JobInvoke-Command, Server01 bilgisayarında bir işi çalıştırır. AsJob parametresi ScriptBlock'u arka plan işi olarak çalıştırır. İş nesnesi $job değişkeninde saklanır. $job değişken nesnesi işlem hattından Remove-Job'a gönderilir.
Örnek 6: Invoke-Command ve Start-Job tarafından oluşturulan bir işi silin
Bu örnek, Start-Job'u çalıştırmak için Invoke-Command kullanılarak başlatılan uzak bilgisayardaki bir işin nasıl kaldırılacağını gösterir. İş nesnesi uzak bilgisayarda oluşturulur ve işi yönetmek için uzak komutlar kullanılır. Uzak bir İşi Başlat komutunu çalıştırırken kalıcı bir bağlantı gereklidir.
$S = New-PSSession -ComputerName Server01
Invoke-Command -Session $S -ScriptBlock {Start-Job -ScriptBlock {Get-Process} -Name MyJob}
Invoke-Command -Session $S -ScriptBlock {Remove-Job -Name MyJob}New-PSSession, Server01 bilgisayarına kalıcı bir bağlantı olan bir PSSession oluşturur. Bağlantı $S değişkenine kaydedilir.
Invoke-Command, $S'de kayıtlı oturuma bağlanır. ScriptBlock, uzak bir işi başlatmak için Start-Job'u kullanır. İş bir Get-Process komutunu çalıştırır ve kolay bir iş adı olan MyJob'u belirtmek için Name parametresini kullanır.
Invoke-Command, $S oturumunu kullanır ve Remove-Job'u çalıştırır. Ad parametresi, MyJob adlı işin silindiğini belirtir.
Örnek 7: Bir işi InstanceId kullanarak silin
Bu örnek, bir işi InstanceId'ye göre kaldırır.
$job = Start-Job -ScriptBlock {Get-Process PowerShell}
$job | Format-List -Property *
Remove-Job -InstanceId ad02b942-8007-4407-87f3-d23e71955872
State : Completed
HasMoreData : True
StatusMessage :
Location : localhost
Command : Get-Process PowerShell
JobStateInfo : Completed
Finished : System.Threading.ManualResetEvent
InstanceId : ad02b942-8007-4407-87f3-d23e71955872
Id : 3
Name : Job3
ChildJobs : {Job4}
PSBeginTime : 7/26/2019 11:36:56
PSEndTime : 7/26/2019 11:36:57
PSJobTypeName : BackgroundJob
Output : {}
Error : {}
Progress : {}
Verbose : {}
Debug : {}
Warning : {}
Information : {}Start-Job bir arka plan işi başlatır ve iş nesnesi $job değişkenine kaydedilir.
$job içindeki nesne ardışık düzende Format-List'e gönderilir. Özellik parametresi, nesnenin tüm özelliklerinin bir listede görüntülendiğini belirtmek için bir yıldız işareti (*) kullanır.
Remove-Job, silinecek işi belirtmek için InstanceId parametresini kullanır.
Parametreler
-Command
Komutta belirtilen sözcükleri içeren işleri siler. Virgülle ayrılmış bir dizi girebilirsiniz.
- Tip :
String[]
- Konum:
Adlandırılmış
- Varsayılan değer:
None
- Gerekli:
False
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-Confirm
Remove-Job çalıştırılmadan ö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
İlgili karma tablosunda belirlenen tüm koşulları karşılayan işleri siler. Anahtarların iş özellikleri ve değerlerin iş özelliği değerleri olduğu bir karma tablosu girin.
Bu parametre yalnızca iş akışı işleri ve zamanlanmış işler gibi özel iş türlerinde çalışır. Start-Job kullanılarak oluşturulanlar gibi standart arka plan işlerinde çalışmaz.
Bu parametre PowerShell 3,0'da tanıtıldı.
- Tip :
Karma tablo
- Konum:
0
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-Force
İşin durumu Çalışıyor olsa bile işi siler. Force parametresi belirtilmemişse, Remove-Job çalışan işleri silmez.
- Tip :
SwitchParameter
- Takma adlar:
F
- Konum:
Adlandırılmış
- Varsayılan değer:
False
- Gerekli:
False
- Boru hattı girişini kabul edin:
False
- Joker karakterleri kabul et:
False
-Id
Belirtilen Kimliğe sahip arka plan işlerini siler. Virgülle ayrılmış bir dizi girebilirsiniz. İşin Kimliği, geçerli oturumdaki bir işi tanımlayan benzersiz bir tam sayıdır.
Bir işin Kimliğini bulmak için parametresiz Get-Job'u kullanın.
- Tip :
Int32[]
- Konum:
0
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-InstanceId
Belirtilen InstanceId'ye sahip işleri siler. Virgülle ayrılmış bir dizi girebilirsiniz. InstanceId, bir işi tanımlayan benzersiz bir GUID'dir.
Bir işin InstanceId'ini bulmak için Get-Job'u kullanın.
- Tip :
Rehber[]
- Konum:
0
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-Job
Silinecek işleri belirtir. İşleri içeren bir değişken veya işleri alan bir komut girin. Virgülle ayrılmış bir dizi girebilirsiniz.
İş nesnelerini ardışık düzende Remove-Job'a gönderebilirsiniz.
- Tip :
İş[]
- Konum:
0
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-Name
Yalnızca belirtilen kolay ada sahip işleri siler. Joker karakterlere izin verilir. Virgülle ayrılmış bir dizi girebilirsiniz.
İşler için kolay adların bir PowerShell oturumunda bile benzersiz olacağı garanti edilmez. Dosyaları ada göre silerken WhatIf ve Onayla parametrelerini kullanın.
- Tip :
String[]
- Konum:
0
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
True
-State
Yalnızca belirtilen duruma sahip işleri siler. Çalışıyor durumundaki işleri silmek için Zorla parametresini kullanın.
Kabul edilen değerler:
- AtBreakpoint
- Engellendi
- Tamamlanmış
- Bağlantı kesildi
- Arızalı
- NotStarted
- Koşma
- Durduruldu
- Durdurmak
- Askıya alınmış
- Askıya alınıyor
- Tip :
JobState
- Kabul edilen değerler:
Kırılma Noktasında, Engellendi, Tamamlandı, Bağlantı Kesildi, Başarısız oldu, Başlatılmadı, Çalışıyor, Durduruldu, Durduruldu, Askıya Alındı, Askıya Alınıyor
- Konum:
0
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-WhatIf
Remove-Job ç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
İş
Bu cmdlet'e bir Job nesnesini yönlendirebilirsiniz.
Çıkışlar
Yok
Bu cmdlet hiçbir çıktı döndürmez.
Notlar
PowerShell, Remove-Job için aşağıdaki takma adları içerir:
Tüm platformlar:
rjb
PowerShell işi yeni bir süreç oluşturur. İş tamamlandığında işlemden çıkılır. Remove-Job çalıştırıldığında işin durumu kaldırılır.
Bir iş tamamlanmadan durursa ve süreçten çıkılmamışsa süreç zorla sonlandırılır.