Disable-ScheduledJob

Zamanlanmış işi devre dışı bırakır.

Syntax

Disable-ScheduledJob
       [-InputObject] <ScheduledJobDefinition>
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Disable-ScheduledJob
       [-Id] <Int32>
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Disable-ScheduledJob
       [-Name] <String>
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

Disable-ScheduledJob Cmdlet zamanlanmış işleri geçici olarak devre dışı bırakır. Devre dışı bırakmak tüm iş özelliklerini korur ve iş tetikleyicilerini devre dışı bırakmaz, ancak zamanlanmış işlerin tetiklendiğinde otomatik olarak başlatılmasını engeller. Cmdlet'ini kullanarak Start-Job devre dışı bırakılmış bir zamanlanmış işi başlatabilir veya devre dışı bırakılmış zamanlanmış işi şablon olarak kullanabilirsiniz.

Zamanlanmış bir işi Disable-ScheduledJob devre dışı bırakmak için, cmdlet zamanlanan işin Enabled özelliğini False olarak ayarlar. Zamanlanmış işi yeniden etkinleştirmek için cmdlet'ini Enable-ScheduledJob kullanın.

Disable-ScheduledJob, Windows PowerShell'de bulunan PSScheduledJob modülündeki iş zamanlama cmdlet'leri koleksiyonundan biridir.

Zamanlanmış İşler hakkında daha fazla bilgi için PSScheduledJob modülündeki Hakkında konu başlıklarına bakın. PSScheduledJob modülünü içeri aktarın ve şunu yazın: Get-Help about_Scheduled* veya about_Scheduled_Jobs bakın.

Bu cmdlet, Windows PowerShell 3.0'da kullanıma sunulmuştur.

Örnekler

Örnek 1: Zamanlanmış işi devre dışı bırakma

Bu örnek, yerel bilgisayarda zamanlanmış bir işi devre dışı bırakır.

Disable-ScheduledJob -ID 2 -Passthru

Bu komut, yerel bilgisayarda kimliği 2 olan zamanlanmış işi devre dışı bırakır.

Örnek 2: Tüm zamanlanmış işleri devre dışı bırakma

Bu örnek, yerel bilgisayardaki tüm zamanlanmış işleri devre dışı bırakır.

Get-ScheduledJob | Disable-ScheduledJob -Passthru

Id         Name            Triggers        Command                                  Enabled
--         ----            --------        -------                                  -------
1          ArchiveProje... {}              C:\Scripts\Archive-DxProjects.ps1        False
2          Inventory       {1, 2}          \\Srv01\Scripts\Get-FullInventory.ps1    False
4          Test-HelpFiles  {1}             .\Test-HelpFiles.ps1                     False
5          TestJob         {1, 2}          .\Run-AllTests.ps1                       False

cmdlet'i Get-ScheduledJob tüm zamanlanmış işi alır ve devre dışı bırakmak için Disable-ScheduledJob cmdlet'e aktarır.

Cmdlet'ini kullanarak Enable-ScheduledJob zamanlanmış işi yeniden etkinleştirebilir ve cmdlet'ini Start-Job kullanarak devre dışı bırakılmış bir zamanlanmış işi çalıştırabilirsiniz.

Disable-ScheduledJob zaten devre dışı bırakılmış bir zamanlanmış işi devre dışı bırakırsanız uyarı veya hata oluşturmaz, böylece tüm zamanlanmış işleri koşulsuz olarak devre dışı bırakabilirsiniz.

Örnek 3: Seçili zamanlanmış işleri devre dışı bırakma

Bu örnek, zamanlanmış işin kimlik bilgisi içermemesi özelliğini devre dışı bırakır.

Get-ScheduledJob | Where-Object {!$_.Credential} | Disable-ScheduledJob

Kimlik bilgileri olmayan işler, bunları oluşturan kullanıcının izniyle çalıştırılır.

komut, bilgisayardaki tüm zamanlanmış işleri almak için cmdlet'ini kullanır Get-ScheduledJob . İşlem hattı işleci, kimlik bilgileri olmayan zamanlanmış işleri Where-Object seçen cmdlet'ine zamanlanmış işleri gönderir. komutu not (!) işlecini kullanır ve zamanlanan işin Credential özelliğine başvurur. Başka bir işlem hattı işleci, seçilen zamanlanmış işleri cmdlet'e Disable-ScheduledJob gönderir ve bu da bunları devre dışı bırakır.

Örnek 4: Uzak bilgisayarda zamanlanmış işleri devre dışı bırakma

Bu örnek, iki uzak bilgisayarda zamanlanmış bir işi devre dışı bırakır.

Invoke-Command -ComputerName Srv01, Srv10 -ScriptBlock {Disable-ScheduledJob -Name TestJob}

komutu cmdlet'ini Invoke-Command kullanarak Srv01 ve Srv10 bilgisayarlarında bir Disable-ScheduledJob komut çalıştırır. Komut, her bilgisayarda TestJob zamanlanmış işini seçmek için name parametresini Disable-ScheduledJob kullanır.

Örnek 5: Zamanlanmış bir işi genel kimliğine göre devre dışı bırakma

Bu örneklerde, zamanlanmış bir işin genel tanımlayıcısını kullanarak nasıl devre dışı bırakıldığı gösterilmektedir. Zamanlanmış bir işin GlobalID özelliğinin değeri benzersiz bir tanımlayıcıdır (GUID). Birden çok bilgisayarda zamanlanmış işleri devre dışı bırakırken olduğu gibi duyarlık gerektiğinde GlobalID değerini kullanın.

Get-ScheduledJob | Format-Table -Property Name, GlobalID, Command -Autosize

Name             GlobalId                             Command
----             --------                             -------
ArchiveProjects1 a26a0b3d-b4e6-44d3-8b95-8706ef621f7c C:\Scripts\Archive-DxProjects.ps1
Inventory        3ac37e5d-84c0-4a8f-9661-7e88ebb8f914 \\Srv01\Scripts\Get-FullInventory.ps1
Backup-Scripts   4d0cc6be-c082-48d1-baec-1bd8278f3c81  Copy-Item C:\CurrentScripts\*.ps1 -Destination C:\BackupScripts
Test-HelpFiles   d77020ca-f20d-42be-86c8-fc64df97db90 .\Test-HelpFiles.ps1
Test-HelpFiles   2f1606d2-c6cf-4bef-8b1c-ae36a9cc9934 .\Test-DomainHelpFiles.ps1

Get-ScheduledJob | Where-Object {$_.GlobalID = d77020ca-f20d-42be-86c8-fc64df97db90} | Disable-ScheduledJob

İlk komut, zamanlanmış işin GlobalID değerini bulmanın bir yolunu gösterir. Komut, bilgisayarda zamanlanmış işleri almak için cmdlet'ini kullanır Get-ScheduledJob . İşlem hattı işleci (|), zamanlanmış işleri cmdlet'ine Format-Table gönderir ve bu da tablodaki her işin Name, GlobalID ve Command özelliklerini görüntüler.

İkinci komut, bilgisayarda zamanlanmış işleri almak için cmdlet'ini kullanır Get-ScheduledJob . İşlem hattı işleci (|), zamanlanmış işleri cmdlet'ine Where-Object gönderir ve bu da belirtilen genel kimlikle zamanlanmış işi seçer. Başka bir işlem hattı işleci işi cmdlet'ine Disable-ScheduledJob gönderir ve bu da işi devre dışı bırakır.

Parametreler

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Belirtilen kimlik numarası (KIMLIK) ile zamanlanmış işi devre dışı bırakır. Zamanlanmış işin kimliğini girin.

Type:Int32
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Devre dışı bırakılacak zamanlanmış işi belirtir. ScheduledJobDefinition nesnelerini içeren bir değişken girin veya komut gibi ScheduledJobDefinition nesnelerini alan bir Get-ScheduledJob komut veya ifade yazın. ScheduledJobDefinition nesnesini öğesine Disable-ScheduledJobde yöneltebilirsiniz.

Type:Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Belirtilen adlarla zamanlanmış işleri devre dışı bırakır. Zamanlanmış işin adını girin. Joker karakterler desteklenir.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Üzerinde çalıştığınız öğeyi temsil eden bir nesne döndürür. Varsayılan olarak, bu cmdlet herhangi bir çıkış oluşturmaz.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Girişler

Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

Zamanlanmış bir işi adresine yöneltebilirsiniz Disable-ScheduledJob.

Çıkışlar

None

Varsayılan olarak, bu cmdlet çıkış döndürmez.

Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

PassThru parametresini kullandığınızda, bu cmdlet devre dışı bırakılan zamanlanmış işi döndürür.

Notlar

  • Disable-ScheduledJob zaten devre dışı bırakılmış bir zamanlanmış işi devre dışı bırakmak için kullanıyorsanız uyarı veya hata oluşturmaz.