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-Job

Get-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-Job

Get-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 NotStarted

Remove-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 -Force

Remove-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-Job

Invoke-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.

İlgili makaleler