Remove-Job
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>]
Description
Remove-Job
cmdlet'i veya Start-Job
parametresini destekleyen Invoke-Command
gibi cmdlet'ler tarafından başlatılan PowerShell arka plan işlerini, cmdlet'i siler.
tüm işleri silmek veya seçili işleri silmek için Remove-Job
kullanabilirsiniz. İşler, Adı, Kimliği, InstanceId, Commandveya Stateile tanımlanır. Veya, bir iş nesnesi Remove-Job
işlem hattına gönderilebilir. Parametreler veya parametre değerleri olmadan Remove-Job
hiçbir etkisi olmaz.
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 Remove-Job
hata verir. Çalışan bir işi durdurmak için Stop-Job
cmdlet'ini kullanın. Ya da çalışan bir işi silmek için Remove-Job
parametresi ile kullanın.
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
, Name- parametresini iş belirtmek için BatchJobkullanır. İş nesnesi $batch
değişkeninde depolanır.
$batch
içindeki nesne işlem hattından Remove-Job
'e gönderilir.
Alternatif olarak gibi Remove-Job -Job $batch
parametresini kullanabilirsiniz.
Ö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: Başlatılmamış 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: Anlamlı bir ad kullanarak görevleri silme
Bu örnek, geçerli oturumdaki, çalışan işler de dahil olmak üzere, dost adları topluile biten tüm işleri siler.
Remove-Job -Name *batch -Force
Remove-Job
bir iş adı deseni belirtmek için Adı parametresini kullanır. Desen, *
ile biten tüm iş adlarını bulmak için yıldız işareti () joker karakterini içerir.
Zorlama parametresi, çalışmakta olan işleri siler.
Örnek 5: Invoke-Command tarafından oluşturulan bir işi silme
Bu örnek, Invoke-Command
parametresiyle kullanılarak 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ıştırılı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 görev çalıştırır.
AsJob parametresi, arka plan işi olarak ScriptBlock çalıştırır. İş nesnesi $job
değişkeninde depolanır.
$job
değişken nesnesi Remove-Job
'e işlem hattından aşağı gönderilir.
Örnek 6: Invoke-Command ve Start-Job tarafından oluşturulan bir işi silme
Bu örnekte, Invoke-Command
çalıştırmak için Start-Job
kullanılarak başlatılan uzak bir bilgisayardaki 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
komutu ç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 bilgisayara kalıcı bir bağlantı olan pssessionoluşturur. Bağlantı $S
değişkenine kaydedilir.
Invoke-Command
, $S
olarak kaydedilen oturuma bağlanır.
ScriptBlock uzaktan iş başlatmak için Start-Job
kullanır. İş, bir Get-Process
komutu çalıştırır ve MyJobgibi anlaşılır bir iş adı belirtmek için Adı parametresini kullanır.
Invoke-Command
$S
oturumunu kullanır ve Remove-Job
çalıştırır.
Adı parametresi, MyJob adlı işin silindiğini belirtir.
Örnek 7: InstanceId değerini kullanarak bir işi silme
Bu örnek, InstanceIdtemelinde bir işi 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 işlem hattından Format-List
'e gönderilir.
Özelliği parametresi, nesnenin tüm özelliklerinin 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.
Tür: | String[] |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Confirm
Remove-Job
çalıştırilmeden önce sizden onay ister.
Tür: | SwitchParameter |
Diğer adlar: | cf |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Filter
İlişkili karma tabloda belirlenen tüm koşulları karşılayan görevleri siler. Bir karma tablo girin, burada anahtarlar iş özellikleri, değerler ise iş özelliği değerleridir.
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 kullanıma sunulmuştur.
Tür: | Hashtable |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Force
İşin durumu Çalışıyorolsa bile bir işi siler.
Force parametresi belirtilmezse, Remove-Job
çalışan işleri silmez.
Tür: | SwitchParameter |
Diğer adlar: | F |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Id
Belirtilen Kimliğine 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 tamsayıdır.
bir işin kimliğinibulmak için parametresiz Get-Job
kullanın.
Tür: | Int32[] |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-InstanceId
Belirtilen InstanceIdolan 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
kullanın.
Tür: | Guid[] |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Job
Silinecek işleri belirtir. İşleri içeren bir değişken veya işleri getiren bir komut girin. Virgülle ayrılmış bir dizi girebilirsiniz.
İş nesnelerini işlem hattı boyunca Remove-Job
'a gönderebilirsiniz.
Tür: | Job[] |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | 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.
Görevlerin kullanıcı dostu isimlerinin, bir PowerShell oturumunda bile benzersiz olması güvence altına alınmamıştır. Dosyaları ada göre sildiğinizde WhatIf ve Confirm parametrelerini kullanın.
Tür: | String[] |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | True |
-State
Yalnızca belirtilen duruma sahip işleri siler. Çalışıyordurumuna sahip işleri silmek için Zorla parametresini kullanın.
Kabul edilen değerler:
- AtBreakpoint
- Engellenmiş
- Tamamlandı
- Bağlantısı kesilmiş
- Başarısız
- Başlamadı
- Koşu
- Durdu
- Durdurma
- Askıya
- Askıya
Tür: | JobState |
Kabul edilen değerler: | AtBreakpoint, Blocked, Completed, Disconnected, Failed, NotStarted, Running, Stopped, Stopping, Suspended, Suspending |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-WhatIf
Remove-Job
çalıştırıldığında ne olacağını gösterir. Cmdlet çalıştırılmıyor.
Tür: | SwitchParameter |
Diğer adlar: | wi |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
Girişler
Bir İş nesnesini bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
None
Bu cmdlet çıkış döndürmez.
Notlar
PowerShell, Remove-Job
için aşağıdaki diğer adları içerir:
- Tüm platformlar:
rjb
PowerShell işi yeni bir süreç oluşturur. İş tamamlandığında, işlem sona erer.
Remove-Job
çalıştırıldığında işin durumu silinir.
Bir iş tamamlanmadan önce durursa ve işlemi henüz sonlanmamışsa, işlem zorla sonlandırılır.
İlişkili Bağlantılar
PowerShell