Remove-Job
PowerShell arka plan işini siler.
Syntax
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>]
Description
cmdlet'iRemove-Job
, cmdlet'i veya AsJob parametresini Start-Job
destekleyen cmdlet'ler Invoke-Command
tarafından başlatılan PowerShell arka plan işlerini siler.
Tüm işleri silmek veya seçili işleri silmek için kullanabilirsiniz Remove-Job
. İşler Ad, Kimlik, Örnek Kimliği, Komut veya Durum ile tanımlanır. Öte yandan, bir iş nesnesi işlem hattına Remove-Job
gönderilebilir. Parametreler veya parametre değerleri Remove-Job
olmadan 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, Remove-Job
zamanlanmış işi, diskte zamanlanan işin tüm örneklerini ve tetiklenen tüm iş örneklerinin sonuçlarını siler.
Çalışan bir işi silmeye çalışırsanız başarısız Remove-Job
olur. Stop-Job
Çalışan bir işi durdurmak için cmdlet'ini kullanın. Veya çalışan bir işi silmek için Force parametresiyle kullanın.Remove-Job
Arka plan işini silene veya PowerShell oturumunu kapatana kadar işler genel iş önbelleğinde kalır.
Örnekler
Örnek 1: Adını kullanarak bir işi 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-Job
Get-Job
, BatchJob işini belirtmek için Name parametresini kullanır. İş nesnesi değişkeninde $batch
depolanır. içindeki $batch
nesnesi işlem hattına Remove-Job
gönderilir.
Alternatif olarak job parametresini kullanabilirsiniz; örneğinRemove-Job -Job $batch
.
Örnek 2: Oturumdaki tüm işleri silme
Bu örnekte, geçerli PowerShell oturumundaki tüm işler silinir.
Get-job | Remove-Job
Get-Job
geçerli PowerShell oturumundaki tüm işleri alır. İş nesneleri işlem hattına Remove-Job
gönderilir.
Örnek 3: NotStarted işlerini silme
Bu örnek, geçerli PowerShell oturumundan başlatılmamış tüm işleri siler.
Remove-Job -State NotStarted
Remove-Job
, iş durumunu belirtmek için State parametresini kullanır.
Örnek 4: Kolay bir ad kullanarak işleri silme
Bu örnek, çalışan işler de dahil olmak üzere toplu iş* ile biten kolay adlarla geçerli oturumdaki tüm işleri siler.
Remove-Job -Name *batch -Force
Remove-Job
bir iş adı deseni belirtmek için Name parametresini kullanır. Desen, toplu iş ile biten tüm iş adlarını bulmak için yıldız işareti (*
) joker karakterini içerir. Force parametresi, çalışan işleri siler.
Örnek 5: Invoke-Command tarafından oluşturulan bir işi silme
Bu örnek, AsJob parametresiyle kullanılarak Invoke-Command
uzak bilgisayarda başlatılan bir işi kaldırır.
Örnekte AsJob parametresi kullanıldığından, iş nesnesi yerel bilgisayarda oluşturulur. Ancak, iş uzak bir bilgisayarda çalışır. 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-Job
Invoke-Command
Server01 bilgisayarında bir iş çalıştırır. AsJob parametresi ScriptBlock'i arka plan işi olarak çalıştırır. İş nesnesi değişkeninde $job
depolanır. Değişken $job
nesnesi işlem hattına Remove-Job
gönderilir.
Örnek 6: Invoke-Command ve Start-Job tarafından oluşturulan bir işi silme
Bu örnekte, komutunu çalıştırmak Start-Job
için kullanılarak Invoke-Command
başlatılan uzak bir bilgisayardaki bir işin nasıl kaldırılacağı gösterilmektedir. İş nesnesi uzak bilgisayarda oluşturulur ve işi yönetmek için uzak komutlar kullanılır. Uzak Start-Job
bir komut çalıştırılı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 PSSession oluşturur. Bağlantı değişkene $S
kaydedilir.
Invoke-Command
içinde kaydedilen $S
oturuma bağlanır. ScriptBlock, uzak bir işi başlatmak için kullanırStart-Job
. İş bir Get-Process
komut çalıştırır ve Ad parametresini kullanarak kolay bir iş adı (MyJob) belirtir.
Invoke-Command
oturumunu $S
kullanır ve çalıştırır Remove-Job
. Name parametresi MyJob adlı işin silindiğini belirtir.
Örnek 7: InstanceId değerini kullanarak bir işi silme
Bu örnek, bir işi InstanceId'sine 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 değişkene $job
kaydedilir.
içindeki $job
nesnesi işlem hattına Format-List
gönderilir. Property parametresi, nesnenin tüm özelliklerinin bir listede görüntüleneceğini belirtmek için 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Çalıştırilmeden önce Remove-Job
sizden onay ister.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Filter
İlişkili karma tabloda oluşturulan tüm koşulları karşılayan işleri siler. Anahtarların iş özellikleri, değerlerin ise iş özelliği değerleri olduğu bir karma tablo girin.
Bu parametre yalnızca iş akışı işleri ve zamanlanmış işler gibi özel iş türlerinde çalışır. kullanılarak Start-Job
oluşturulanlar gibi standart arka plan işlerinde çalışmaz.
Bu parametre PowerShell 3.0'da kullanıma sunulmuştur.
Type: | Hashtable |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
İşin durumu Çalışıyor olsa bile işi siler. Force parametresi belirtilmezse, Remove-Job
çalışan işleri silmez.
Type: | SwitchParameter |
Aliases: | F |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
Belirtilen kimlikle 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 tamsayıdır.
bir işin kimliğini bulmak için parametresiz kullanın Get-Job
.
Type: | Int32[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InstanceId
Belirtilen InstanceId değerine 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 değerini bulmak için kullanınGet-Job
.
Type: | Guid[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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 işlem hattının Remove-Job
aşağısına gönderebilirsiniz.
Type: | Job[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Yalnızca belirtilen kolay ada sahip işleri siler. Joker karakterlere izin verilir. Virgülle ayrılmış bir dizi girebilirsiniz.
İşlerin kolay adlarının, Bir PowerShell oturumunda bile benzersiz olması garanti değildir. Dosyaları ada göre silerken WhatIf ve Confirm parametrelerini kullanın.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-State
Yalnızca belirtilen duruma sahip işleri siler. Çalışıyor durumuna sahip işleri silmek için Force parametresini kullanın.
Kabul edilen değerler:
- AtBreakpoint
- Engellendi
- Tamamlandı
- Bağlantı kesildi
- Başarısız
- NotStarted
- Çalışıyor
- Durduruldu
- Durduruluyor
- Askıya alındı
- Askıya alınıyor
Type: | JobState |
Accepted values: | AtBreakpoint, Blocked, Completed, Disconnected, Failed, NotStarted, Running, Stopped, Stopping, Suspended, Suspending |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Çalıştırılırsa Remove-Job
ne olacağını gösterir. Cmdlet çalıştırılmıyor.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Girişler
Bir job nesnesini bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
None
Bu cmdlet çıkış döndürmez.
Notlar
PowerShell için aşağıdaki diğer adları Remove-Job
içerir:
- Tüm platformlar:
rjb
PowerShell işi yeni bir işlem oluşturur. İş tamamlandığında işlemden çıkılır. Çalıştırıldığında Remove-Job
işin durumu kaldırılır.
Bir iş tamamlanmadan önce durursa ve işlemden çıkılmamışsa, işlem zorla sonlandırılır.
İlişkili Bağlantılar
PowerShell