Set-JobTrigger
Zamanlanmış işin iş tetikleyicisini değiştirir.
Syntax
Set-JobTrigger
[-InputObject] <ScheduledJobTrigger[]>
[-DaysInterval <Int32>]
[-WeeksInterval <Int32>]
[-RandomDelay <TimeSpan>]
[-At <DateTime>]
[-User <String>]
[-DaysOfWeek <DayOfWeek[]>]
[-AtStartup]
[-AtLogOn]
[-Once]
[-RepetitionInterval <TimeSpan>]
[-RepetitionDuration <TimeSpan>]
[-RepeatIndefinitely]
[-Daily]
[-Weekly]
[-PassThru]
[<CommonParameters>]
Description
Cmdlet, Set-JobTrigger
zamanlanmış işlerin iş tetikleyicilerinin özelliklerini değiştirir. İşlerin başlama zamanını veya sıklığını değiştirmek veya zaman tabanlı zamanlamalardan bir oturum açma veya başlatma tarafından tetiklenen zamanlamalara geçmek için bunu kullanabilirsiniz.
İş tetikleyicisi, yinelenen bir zamanlamayı veya zamanlanmış işi başlatma koşullarını tanımlar. İş tetikleyicileri diske kaydedilmese de, diske kaydedilen zamanlanmış işlerin iş tetikleyicilerini değiştirebilirsiniz.
Zamanlanmış işin iş tetikleyicisini değiştirmek için, zamanlanmış işin iş tetikleyicisini almak için cmdlet'ini kullanarak Get-JobTrigger
başlayın. Ardından tetikleyiciyi bir değişkene yöneltin Set-JobTrigger
veya bir değişkene kaydedin ve tetikleyiciyi tanımlamak için cmdlet'in Set-JobTrigger
InputObject parametresini kullanın.
İş tetikleyicisini değiştirmek için öğesinin kalan parametrelerini Set-JobTrigger
kullanın.
günlük veya haftalık bir tetikleyici olan iş tetikleyicisini AtLogon tetikleyicisine değiştirme gibi bir iş tetikleyicisinin türünü değiştirdiğinizde, özgün tetikleyici özellikleri silinir. Ancak, tetikleyicinin değerlerini değiştirirseniz ancak haftalık tetikleyicideki günleri değiştirme gibi türünü değiştirmezseniz, yalnızca belirttiğiniz özellikler değiştirilir. Özgün iş tetikleyicisinin diğer tüm özellikleri korunur.
Set-JobTrigger
, 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: İş tetikleyicisindeki günleri değiştirme
Bu örnekte, haftalık iş tetikleyicisindeki günlerin nasıl değiştireceği gösterilmektedir.
Get-JobTrigger -Name "DeployPackage"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Saturday} True
Get-JobTrigger -Name "DeployPackage" | Set-JobTrigger -DaysOfWeek "Wednesday", "Sunday" -Passthru
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Sunday} True
İlk komut, zamanlanmış işin iş tetikleyicisini almak için cmdlet'ini DeployPackage
kullanırGet-JobTrigger
. Çıktı, tetikleyicinin işi çarşamba ve cumartesi günleri gece yarısı başlattığını gösterir.
İkinci komut, zamanlanmış işin iş tetikleyicisini almak için cmdlet'ini DeployPackage
kullanırGet-JobTrigger
. İşlem hattı işleci (|
), tetikleyiciyi cmdlet'ine Set-JobTrigger
gönderir ve bu da işi Çarşamba ve Pazar günleri başlatacak şekilde iş tetikleyicisini DeployPackage
değiştirir. Komut, değişiklikten sonra tetikleyiciyi döndürmek için Passthru parametresini kullanır.
Bu komut gerekli değildir; yalnızca tetikleyici değişikliğinin etkisini göstermek için eklenir.
Örnek 2: İş tetikleyici türünü değiştirme
Bu örnekte, bir işi başlatan iş tetikleyicisinin türünü değiştirme işlemi gösterilmektedir. Bu örnekteki komutlar, bir AtStartup
iş tetikleyicisini haftalık tetikleyiciyle değiştirir.
Get-JobTrigger -Name "Inventory"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 AtStartup True
Get-JobTrigger -Name "Inventory" -TriggerID 2 | Set-JobTrigger -Weekly -WeeksInterval 4 -DaysOfWeek Monday -At "12:00 AM"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 Weekly 10/31/2011 12:00:00 AM {Monday} True
İlk komut, zamanlanmış işin iş tetikleyicisini almak için cmdlet'ini Inventory
kullanırGet-JobTrigger
. Çıktı, işin günlük tetikleyici ve AtStartup tetikleyicisi olmak kaydıyla iki tetikleyiciye sahip olduğunu gösterir.
İkinci komut, işin AtStartup iş tetikleyicisini almak için cmdlet'ini Inventory
kullanırGet-JobTrigger
. komut, iş tetikleyicisini tanımlamak için TriggerID parametresini kullanır. İşlem hattı işleci (|
), iş tetikleyicisini cmdlet'ine Set-JobTrigger
gönderir ve bu da bunu Pazartesi gece yarısı dört haftada bir çalışan haftalık bir iş tetikleyicisi olarak değiştirir. Komut, değişiklikten sonra tetikleyiciyi döndürmek için Passthru parametresini kullanır.
Bu komut gerekli değildir; yalnızca tetikleyici değişikliğinin etkisini göstermek için eklenir.
Örnek 3: Uzak iş tetikleyicisinde kullanıcıyı değiştirme
Invoke-Command -ComputerName "Server01" -ScriptBlock {Get-ScheduledJob | Get-JobTrigger | Where-Object {$_.User} | Set-JobTrigger -User "Domain01/Admin02"}
Bu komut, Server01 bilgisayarındaki zamanlanmış işlerin tüm AtLogon iş tetikleyicilerindeki kullanıcıyı değiştirir.
komutu, Server01 bilgisayarında bir komut çalıştırmak için cmdlet'ini kullanır Invoke-Command
.
Uzak komut, bilgisayardaki tüm zamanlanmış işleri alan bir Get-ScheduledJob
komutla başlar. Zamanlanan işler, zamanlanmış işlerin iş tetikleyicilerini alan cmdlet'ine iletilir Get-JobTrigger
. Her iş tetikleyicisi, zamanlanmış işi içeren bir JobDefinition özelliği içerir, bu nedenle tetikleyici, değiştirildiğinde bile zamanlanmış işle ilişkili kalır.
İş tetikleyicileri, User özelliğine Where-Object
sahip iş tetikleyicilerini alan cmdlet'ine iletilir. Seçilen iş tetikleyicileri cmdlet'ine Set-JobTrigger
geçirilir ve bu da kullanıcıyı olarak Domain01\Admin02
değiştirir.
Örnek 4: Birçok iş tetikleyicisinin birini değiştirme
Get-JobTrigger -Name "SecurityCheck"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 4/24/2013 3:00:00 AM True
2 Weekly 4/24/2013 4:00:00 PM {Sunday} True
3 Once 4/24/2013 4:00:00 PM True
Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:00:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Get-JobTrigger -Name "SecurityCheck" -TriggerId 3 | Set-JobTrigger -RepetitionInterval (New-TimeSpan -Minutes 90)
Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:30:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Bu örnekteki komutlar, zamanlanmış işin Bir kez iş tetikleyicisinin SecurityCheck
yineleme aralığını 60 dakikada bir ile 90 dakikada bir olarak değiştirir. SecurityCheck
Zamanlanan işin üç iş tetikleyicisi vardır, bu nedenle komutlar değiştirilen iş tetikleyicisini tanımlamak için cmdlet'in Get-JobTrigger
TriggerId parametresini kullanır.
İlk komut, zamanlanmış işin tüm iş tetikleyicilerini almak için cmdlet'ini SecurityCheck
kullanırGet-JobTrigger
. İş tetikleyicilerinin kimliklerini görüntüleyen çıkış, bir kez iş tetikleyicisinin kimliğine3
sahip olduğunu gösterir.
İkinci komut, zamanlanan işin Bir kez tetikleyicisini almak için cmdlet'in TriggerID parametresini Get-JobTrigger
SecurityCheck
kullanır. komut, tetikleyiciyi bir kez iş tetikleyicisinin Format-List
tüm özelliklerini görüntüleyen cmdlet'ine aktarır. Çıkış, tetikleyicinin işi bir gün boyunca saatte bir (RepetitionInterval 1 saat) başlattığını gösterir (RepetitionDuration 1 gündür).
Üçüncü komut, iş tetikleyicisinin yineleme aralığını bir saat ile 90 dakika arasında değiştirir. Komut herhangi bir çıkış döndürmez.
Dördüncü komut, değişikliğin etkisini görüntüler. Çıktı, tetikleyicinin işi bir gün boyunca her 90 dakikada bir (RepetitionInterval 1 saat, 30 dakikadır) başlattığını gösterir (RepetitionDuration 1 gündür).
Parametreler
-At
İşi belirtilen tarih ve saatte başlatır. Cmdlet'in döndürdüğü gibi bir DateTime nesnesi veya , 12/31/2013 9:00 PM
veya 3am
gibi April 19, 2012 15:00
bir saate dönüştürülebilecek bir dize Get-Date
girin.
DateTime nesnesinin saniye gibi bir öğesini belirtmezseniz, iş tetikleyicisinin bu öğesi değiştirilmez. Özgün iş tetikleyicisi bir DateTime nesnesi içermiyorsa ve bir öğeyi atlarsanız, iş tetikleyicisi geçerli tarih ve saatle ilgili öğeyle oluşturulur.
Once parametresini kullanırken At parametresinin değerini belirli bir tarih ve saat olarak ayarlayın. DateTime nesnesindeki varsayılan tarih geçerli tarih olduğundan, açık bir tarih olmadan geçerli saatten önceki bir saati ayarlamak, geçmişteki bir saat için iş tetikleyicisi oluşturur.
DateTime nesneleri ve DateTime nesnelerine dönüştürülen dizeler, Denetim Masası Bölge ve Dil'de yerel bilgisayar için seçilen tarih ve saat biçimleriyle uyumlu olacak şekilde otomatik olarak ayarlanır.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AtLogOn
Belirtilen kullanıcılar bilgisayarda oturum açtığında zamanlanmış işi başlatır. Kullanıcı belirtmek için User parametresini kullanın.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AtStartup
Windows başlatıldığında zamanlanan işi başlatır.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Daily
Yinelenen günlük iş zamanlamasını belirtir. Zamanlama ayrıntılarını belirtmek için Günlük parametre kümesindeki diğer parametreleri kullanın.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DaysInterval
Günlük zamanlamaya göre oluşumlar arasındaki gün sayısını belirtir. Örneğin, değeri 3
zamanlanmış işi , 4
7
vb. günlerinde 1
başlatır. Varsayılan değer şudur: 1
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DaysOfWeek
Haftalık zamanlanmış işin çalıştırıldığı haftanın günlerini belirtir. Pazar'ı temsil eden , , tamsayılar 0
-6
gibi Monday
gün adlarını veya her günü temsil edecek bir yıldız işareti (*
) girin. Thursday
0
Bu parametre Haftalık parametre kümesinde gereklidir.
Gün adları, iş tetikleyicisindeki tamsayı değerlerine dönüştürülür. Bir komutta gün adlarını tırnak içine aldığınızda, her gün adını gibi "Monday", "Tuesday"
ayrı tırnak içine alın. Birden çok gün adını tek bir tırnak işareti çiftinin içine alırsanız, karşılık gelen tamsayı değerleri toplanır. Örneğin, "Monday, Tuesday"
() bir () değeriyle sonuç verir3
Wednesday
1 + 2
.
Type: | DayOfWeek[] |
Accepted values: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
İş tetikleyicilerini belirtir. ScheduledJobTrigger nesnelerini içeren bir değişken girin veya komut gibi ScheduledJobTrigger nesnelerini alan bir Get-JobTrigger
komut veya ifade yazın.
ScheduledJobTrigger nesnesini öğesine Set-JobTrigger
de yöneltebilirsiniz.
Birden çok iş tetikleyicisi belirtirseniz, Set-JobTrigger
tüm iş tetikleyicilerinde aynı değişiklikleri yapar.
Type: | Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Once
Yinelenen olmayan (bir kerelik) bir zamanlama belirtir.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Değişen iş tetikleyicilerini 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 |
-RandomDelay
Zamanlanan başlangıç saatinde başlayan rastgele bir gecikmeyi etkinleştirir ve maksimum gecikme değerini ayarlar.
Gecikme süresi her başlangıç için rastgele olarak ayarlanır ve gecikme olmamasından bu parametrenin değeriyle belirtilen zamana kadar değişir. Varsayılan değer olan sıfır ()00:00:00
rastgele gecikmeyi devre dışı bırakır.
Cmdlet tarafından New-TimeSpan
döndürülen nesne gibi bir zaman aralığı nesnesi girin veya otomatik olarak zaman aralığı nesnesine dönüştürülen biçimde bir değer <hours>:<minutes>:<seconds>
girin.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepeatIndefinitely
Windows PowerShell 4.0'dan başlayarak kullanılabilen bu parametre, zamanlanmış bir işi süresiz bir süre boyunca tekrar tekrar çalıştırmak üzere RepetitionDuration parametresi için bir TimeSpan.MaxValue değeri belirtme gereksinimini ortadan kaldırır.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepetitionDuration
Belirtilen süre dolana kadar işi yineler. Yineleme sıklığı RepetitionInterval parametresinin değeriyle belirlenir. Örneğin, RepetitionInterval değeri 5 dakika ve RepetitionDuration değeri 2 saat ise, iş iki saat boyunca beş dakikada bir tetikler.
Cmdlet'in döndürdüğü New-TimeSpan
bir zaman aralığı nesnesi veya gibi bir zaman aralığı nesnesine dönüştürülebilen bir dize gibi 1:05:30
bir zaman aralığı nesnesi girin.
Bir işi süresiz olarak çalıştırmak için bunun yerine RepeatIndefinitely parametresini ekleyin.
İş tetikleyicisi yineleme süresi dolmadan önce işi durdurmak için RepetitionDuration değerini sıfır (0
olarak ayarlayın.
Bir Kez iş tetikleyicisinin yineleme süresini veya yineleme aralığını değiştirmek için komutun hem RepetitionInterval hem de RepetitionDuration parametrelerini içermesi gerekir. Diğer iş tetikleyicisi türlerinin yineleme süresini veya yineleme aralıklarını değiştirmek için komutun Once, At, RepetitionInterval ve RepetitionDuration parametrelerini içermesi gerekir.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepetitionInterval
İşi belirtilen zaman aralığında yineler. Örneğin, bu parametrenin değeri 2 saat ise, iş her iki saatte bir tetikler. Varsayılan değer olan 0
, işi yinelemez.
Cmdlet'in döndürdüğü New-TimeSpan
bir zaman aralığı nesnesi veya gibi bir zaman aralığı nesnesine dönüştürülebilen bir dize gibi 1:05:30
bir zaman aralığı nesnesi girin.
Bir Kez iş tetikleyicisinin yineleme süresini veya yineleme aralığını değiştirmek için komutun hem RepetitionInterval hem de RepetitionDuration parametrelerini içermesi gerekir. Diğer iş tetikleyicisi türlerinin yineleme süresini veya yineleme aralıklarını değiştirmek için komutun Once, At, RepetitionInterval ve RepetitionDuration parametrelerini içermesi gerekir.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-User
Zamanlanmış bir işin AtLogon başlangıcını tetikleyen kullanıcıları belirtir. Bir kullanıcının <UserName>
adını girin veya <Domain>\<Username>
biçimlendirin veya tüm kullanıcıları temsil etmek için yıldız işareti (*
) girin. Varsayılan değer tüm kullanıcılardır.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Weekly
Yinelenen haftalık iş zamanlamasını belirtir. Zamanlama ayrıntılarını belirtmek için Haftalık parametre kümesindeki diğer parametreleri kullanın.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WeeksInterval
Haftalık iş zamanlaması üzerindeki oluşumlar arasındaki hafta sayısını belirtir. Örneğin, değeri 3
zamanlanan işi haftalar 1
, 4
vb 7
. başlar. Varsayılan değer şudur: 1
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Girişler
Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger
Bir iş tetikleyicisini bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
None
Varsayılan olarak, bu cmdlet çıkış döndürmez.
Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger
PassThru parametresini kullandığınızda, bu cmdlet değiştirdiği iş tetikleyicilerini döndürür.
Notlar
- İş tetikleyicileri, bunları zamanlanmış işle ilişkilendiren bir JobDefinition özelliğine sahiptir. Zamanlanmış bir işin iş tetikleyicisini değiştirdiğinizde, iş değiştirilir. Değiştirilen tetikleyiciyi zamanlanan işe uygulamak için bir
Set-ScheduledJob
komut kullanmanız gerekmez.
İ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
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin