Set-ScheduledJob
Zamanlanmış işleri değiştirir.
Sözdizimi
Set-ScheduledJob
[-Name <String>]
[-ScriptBlock <ScriptBlock>]
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-InputObject] <ScheduledJobDefinition>
[-MaxResultCount <Int32>]
[-PassThru]
[-ArgumentList <Object[]>]
[-RunNow]
[-RunEvery <TimeSpan>]
[<CommonParameters>]
Set-ScheduledJob
[-Name <String>]
[-FilePath <String>]
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-InputObject] <ScheduledJobDefinition>
[-MaxResultCount <Int32>]
[-PassThru]
[-ArgumentList <Object[]>]
[-RunNow]
[-RunEvery <TimeSpan>]
[<CommonParameters>]
Set-ScheduledJob
[-InputObject] <ScheduledJobDefinition>
[-ClearExecutionHistory]
[-PassThru]
[<CommonParameters>]
Description
Set-ScheduledJob
Cmdlet, işlerin çalıştırıldığı komutlar veya işi çalıştırmak için gereken kimlik bilgileri gibi zamanlanmış işlerin özelliklerini değiştirir. Zamanlanmış işin yürütme geçmişini temizlemek için de kullanabilirsiniz.
Bu cmdlet'i kullanmak için, zamanlanmış işi almak için cmdlet'ini kullanarak Get-ScheduledJob
başlayın. Ardından, zamanlanmış işi bir değişkene yöneltin Set-ScheduledJob
veya bir değişkene kaydedin ve işi tanımlamak için InputObject parametresini kullanın. İş özelliklerini değiştirmek veya yürütme geçmişini temizlemek için öğesinin kalan parametrelerini Set-ScheduledJob
kullanın.
Zamanlanmış bir işin tetikleyicilerini ve seçeneklerini değiştirmek için kullanabilirsiniz Set-ScheduledJob
, Add-JobTrigger
ancak , Set-JobTrigger
ve Set-ScheduledJobOption
cmdlet'leri bu görevleri gerçekleştirmek için çok daha kolay yollar sağlar. Yeni bir zamanlanmış iş oluşturmak için cmdlet'ini Register-ScheduledJob
kullanın.
tetikleyici parametresi, Set-ScheduledJob
işi başlatan bir veya daha fazla iş tetikleyicisi ekler.
Tetikleyici parametresi isteğe bağlıdır, böylece zamanlanmış işi oluştururken tetikleyici ekleyebilir, daha sonra iş tetikleyicileri ekleyebilir, işi hemen başlatmak için RunNow parametresini ekleyebilir, istediğiniz zaman işi hemen başlatmak için cmdlet'ini kullanabilir Start-Job
veya başlatılmamış zamanlanmış işi diğer işler için şablon olarak kaydedebilirsiniz.
Set-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: bir işin çalıştırdığını betiği değiştirme
Bu örnek, zamanlanmış bir işte çalıştırılan betiğin nasıl değiştirildiğini gösterir.
Get-ScheduledJob -Name "Inventory"
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-Inventory.ps1 True
Get-ScheduledJob -Name "Inventory" |
Set-ScheduledJob -FilePath "C:\Scripts\Get-FullInventory.ps1" -PassThru
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-FullInventory.ps1 True
İlk komut, Stok zamanlanmış işini almak için cmdlet'ini kullanır Get-ScheduledJob
. Çıktı, işin Get-Inventory.ps1 betiğini çalıştırdığını gösterir.
İkinci komut, Stok zamanlanmış işini almak için cmdlet'ini kullanır Get-ScheduledJob
. İşlem hattı işleci (|
), zamanlanmış işi cmdlet'ine Set-ScheduledJob
gönderir. cmdlet'iSet-ScheduledJob
, yeni bir betik belirtmek için ScriptGet-FullInventory.ps1
. Komut, değişiklikten sonra zamanlanmış işi döndürmek için PassThru parametresini kullanır.
Bu komut gerekli değildir; yalnızca betik değişikliğinin etkisini göstermek için eklenir.
Örnek 2: Zamanlanmış işin yürütme geçmişini silme
Bu örnek, zamanlanmış bir işin geçerli yürütme geçmişini ve kaydedilen iş sonuçlarını siler.
Get-ScheduledJob BackupArchive | Set-ScheduledJob -ClearExecutionHistory
Komut, BackupArchive zamanlanmış işini almak için cmdlet'ini kullanır Get-ScheduledJob
. İşlem hattı işleci (|
), işi değiştirmek için Set-ScheduledJob
cmdlet'e gönderir. cmdlet'iSet-ScheduledJob
, yürütme geçmişini ve kaydedilen sonuçları silmek için ClearExecutionHistory parametresini kullanır.
Zamanlanmış işlerin yürütme geçmişi ve kaydedilen iş sonuçları hakkında daha fazla bilgi için bkz . about_Scheduled_Jobs.
Örnek 3: Uzak bilgisayarda zamanlanmış işleri değiştirme
Bu komut, uzak bilgisayarlardaki tüm zamanlanmış işlerde başlatma betiğini değiştirir.
Invoke-Command -Computer "Server01, Server02" -ScriptBlock {Get-ScheduledJob |
Set-ScheduledJob -InitializationScript \\SrvA\Scripts\SetForRun.ps1}
komutu, Cmdlet'ini Invoke-Command
kullanarak Server01 ve Server02 bilgisayarlarında bir komut çalıştırır.
Uzak komut, bilgisayardaki tüm zamanlanmış işleri alan bir Get-ScheduledJob
komutla başlar. Zamanlanan işler cmdlet'ine Set-ScheduledJob
geçirilir ve bu da başlatma betiğini olarak SetForRun.ps1
değiştirir.
Parametreler
-ArgumentList
FilePath parametresi tarafından belirtilen betiğin parametrelerinin veya ScriptBlock parametresi tarafından belirtilen komutun değerlerini belirtir.
Tür: | Object[] |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Authentication
Kullanıcının kimlik bilgilerini doğrulamak için kullanılan mekanizmayı belirtir. Bu parametrenin kabul edilebilir değerleri şunlardır:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Varsayılan değer şudur: Default
. Bu parametrenin değerleri hakkında daha fazla bilgi için bkz . PowerShell SDK'sında AuthenticationMechanism Numaralandırması .
Dikkat
Kullanıcının kimlik bilgilerinin kimlik doğrulaması için uzak bir bilgisayara geçirildiği Kimlik Bilgisi Güvenlik Destek Sağlayıcısı (CredSSP) kimlik doğrulaması, uzak ağ paylaşımına erişme gibi birden fazla kaynakta kimlik doğrulaması gerektiren komutlar için tasarlanmıştır. Bu mekanizma, uzak işlemin güvenlik riskini artırır. Uzak bilgisayarın güvenliği aşılırsa, bu bilgisayara geçirilen kimlik bilgileri ağ oturumunu denetlemek için kullanılabilir.
Tür: | AuthenticationMechanism |
Kabul edilen değerler: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-ClearExecutionHistory
Geçerli yürütme geçmişini ve zamanlanan işin kaydedilen sonuçlarını siler.
İş yürütme geçmişi ve iş sonuçları, işin oluşturulduğu bilgisayardaki dizinde $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs
zamanlanmış iş ile birlikte kaydedilir. Yürütme geçmişini görmek için cmdlet'ini Get-Job
kullanın. İş sonuçlarını almak için cmdlet'ini Receive-Job
kullanın.
Bu parametre, Görev Zamanlayıcı'nın Windows olay günlüklerine yazdığı olayları etkilemez ve Windows PowerShell'in iş sonuçlarını kaydetmesini durdurmaz. Kaydedilen iş sonuçlarının sayısını yönetmek için MaxResultCount parametresini kullanın.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Credential
Zamanlanmış işi çalıştırma izni olan bir kullanıcı hesabı belirtir. Varsayılan, mevcut kullanıcıdır.
User01 veya Domain01\User01 gibi bir kullanıcı adı yazın veya cmdlet'indeki gibi bir Get-Credential
nesnesi girin. Yalnızca bir kullanıcı adı girerseniz parola girmeniz istenir.
Tür: | PSCredential |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-FilePath
Zamanlanan işin çalıştırıldığı bir betik belirtir. Yerel bilgisayardaki bir .ps1
dosyasının yolunu girin. Betik parametreleri için varsayılan değerleri belirtmek için ArgumentList parametresini kullanın.
Zamanlanan her işin bir ScriptBlock veya FilePath değeri olmalıdır.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-InitializationScript
Windows PowerShell betiğinin (.ps1
) tam yolunu belirtir. Başlatma betiği, ScriptBlock parametresi veya FilePath parametresi tarafından belirtilen betik tarafından belirtilen komutlar öncesinde arka plan işi için oluşturulan oturumda çalışır. Dosyaları, işlevleri veya diğer adları ekleme, dizin oluşturma veya önkoşulları denetleme gibi oturumu yapılandırmak için başlatma betiğini kullanabilirsiniz.
Birincil iş komutlarını çalıştıran bir betik belirtmek için FilePath parametresini kullanın.
Başlatma betiği sonlandırılmayan bir hata da dahil olmak üzere bir hata oluşturursa, zamanlanan işin geçerli örneği çalışmaz ve durumu Başarısız olur.
Tür: | ScriptBlock |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-InputObject
Değiştirilecek zamanlanmış işi belirtir. ScheduledJobDefinition nesnelerini içeren yazın. ScheduledJobDefinitionyöneltebilirsiniz.
Birden çok zamanlanmış iş belirtirseniz, Set-ScheduledJob
tüm işlerde aynı değişiklikleri yapar.
Tür: | ScheduledJobDefinition |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-MaxResultCount
Zamanlanan iş için kaç iş sonucu girişinin tutuldu olduğunu belirtir. Varsayılan değer 32'dir.
Windows PowerShell, diskte zamanlanmış işin tetiklenen her örneğinin yürütme geçmişini ve sonuçlarını kaydeder. Bu parametrenin değeri, bu zamanlanmış iş için kaydedilen iş örneği sonuçlarının sayısını belirler. İş örneği sonuçlarının sayısı bu değeri aştığında, Windows PowerShell en yeni iş örneğinin sonuçlarına yer açmak için en eski iş örneğinin sonuçlarını siler.
İş yürütme geçmişi ve iş sonuçları
$HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs\<JobName>\Output\<Timestamp>
dizinini seçin. Yürütme geçmişini görmek için cmdlet'ini Get-Job
kullanın. İş sonuçlarını almak için cmdlet'ini Receive-Job
kullanın.
MaxResultCount parametresi, zamanlanan işin ExecutionHistoryLength özelliğinin değerini ayarlar.
Geçerli yürütme geçmişini ve iş sonuçlarını silmek için ClearExecutionHistory parametresini kullanın.
Tür: | Int32 |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Name
Zamanlanan iş ve zamanlanmış işin örnekleri için yeni bir ad belirtir. Ad yerel bilgisayarda benzersiz olmalıdır.
Değiştirilecek zamanlanmış işi tanımlamak için InputObject parametresini
Bu parametre disk üzerindeki iş örneklerinin adlarını değiştirmez. Yalnızca bu komut tamamlandıktan sonra başlatılan iş örneklerini etkiler.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | 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.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-RunAs32
Zamanlanmış işi 32 bitlik bir işlemde çalıştırır.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-RunEvery
İşin ne sıklıkta çalıştırılacağını belirtmek için kullanılır. Örneğin, bir işi 15 dakikada bir çalıştırmak için bu seçeneği kullanın.
Tür: | TimeSpan |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-RunNow
Cmdlet çalıştırılır çalıştırılmaz Set-ScheduledJob
hemen bir iş başlatır. Bu parametre, kayıt sonrasında bir Windows PowerShell betiğini çalıştırmak için Görev Zamanlayıcı'yı tetikleme gereksinimini ortadan kaldırır ve kullanıcıların başlangıç tarihi ve saatini belirten bir tetikleyici oluşturmasını gerektirmez.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-ScheduledJobOption
Zamanlanan iş için seçenekleri ayarlar. Cmdlet'ini kullanarak oluşturduğunuz veya karma tablo değeri gibi bir New-ScheduledJobOption
nesnesi girin.
Zamanlanmış işi kaydederken zamanlanmış işin seçeneklerini ayarlayabilir veya seçenekleri ayarlamak veya değiştirmek için veya Set-ScheduledJobOption
cmdlet'lerini kullanabilirsinizSet-ScheduledJob
.
Zamanlanmış bir işin çalıştırılıp çalıştırılmayacağını ve ne zaman çalıştırıldığını seçeneklerin ve bunların varsayılan değerlerinin çoğu belirler. İş zamanlamadan önce bu seçenekleri gözden geçirmeyi unutmayın. Varsayılan değerler de dahil olmak üzere zamanlanmış iş seçeneklerinin açıklaması için bkz New-ScheduledJobOption
. .
Karma tablo göndermek için aşağıdaki anahtarları kullanın. Aşağıdaki karma tabloda anahtarlar varsayılan değerleriyle gösterilir.
@{# Power SettingsStartIfOnBattery=$false;StopIfGoingOnBattery=$true; WakeToRun=$false; # Idle SettingsStartIfNotIdle=$false; IdleDuration="00:10:00"; IdleTimeout="01:00:00"; StopIfGoingOffIdle=$true; RestartOnIdleResume=$false;# Security settingsShowInTaskScheduler=$trueRunElevated=$false;# MiscRunWithoutNetwork=$false;DoNotAllowDemandStart=$false;MultipleInstancePolicy=IgnoreNew# Can be IgnoreNew, Parallel, Queue, StopExisting}
Tür: | ScheduledJobOptions |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-ScriptBlock
Zamanlanan işin çalıştırıldığı komutları belirtir. Betik bloğu oluşturmak için komutları küme ayraçları ({}
) içine alın. Komut parametreleri için varsayılan değerleri belirtmek için ArgumentList parametresini kullanın.
Her Register-ScheduledJob
komut ScriptBlock veya FilePath parametrelerini kullanmalıdır.
Tür: | ScriptBlock |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Trigger
Zamanlanan işin tetikleyicilerini belirtir. Cmdlet'in döndürdüğü nesneler gibi bir veya daha fazla ScheduledJobTrigger nesnesi New-JobTrigger
veya iş tetikleyici anahtarları ve değerleri karma tablosu girin.
İş tetikleyicisi, zamanlanmış işi otomatik olarak bir kerelik veya yinelenen bir zamanlanmış iş veya bir olay gerçekleştiğinde başlatır.
İş tetikleyicileri isteğe bağlıdır. Zamanlanmış işi oluştururken tetikleyici ekleyebilir, Add-JobTrigger
tetikleyicileri daha sonra eklemek için veya Set-ScheduledJob
cmdlet'lerini kullanabilir veya zamanlanmış işi hemen başlatmak için cmdlet'ini kullanabilirsiniz Start-Job
. Ayrıca, iş tetikleyicisi olmayan zamanlanmış bir iş oluşturabilir ve bakımını yapabilirsiniz.
Karma tablo göndermek için aşağıdaki anahtarları kullanın.
@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am"
(veya geçerli bir zaman dizesi); DaysOfWeek="Monday", "Wednesday"
(veya gün adlarının herhangi bir bileşimi); Interval=2
(veya geçerli bir sıklık aralığı); RandomDelay="30minutes"
(veya geçerli bir zaman aralığı dizesi); User="Domain1\User01"
(veya geçerli bir kullanıcı; yalnızca AtLogon frekans değeriyle kullanılır)
}
Tür: | ScheduledJobTrigger[] |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
Girişler
Zamanlanmış bir işi bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
None
Varsayılan olarak, bu cmdlet çıkış döndürmez.
PassThru parametresini kullandığınızda, bu cmdlet değiştirdiği zamanlanmış işi döndürür.
İlişkili Bağlantılar
- Add-JobTrigger
- Disable-JobTrigger
- Disable-ScheduledJob
- Enable-JobTrigger
- Enable-ScheduledJob
- Get-JobTrigger
- Get-ScheduledJob
- Get-ScheduledJobOption
- New-JobTrigger
- New-ScheduledJobOption
- Register-ScheduledJob
- Remove-JobTrigger
- Set-JobTrigger
- Set-ScheduledJob
- Get-ScheduledJobOption
- Unregister-ScheduledJob