New-JobTrigger
Zamanlanmış bir iş için iş tetikleyicisi oluşturur.
Syntax
New-JobTrigger
[-RandomDelay <TimeSpan>]
-At <DateTime>
[-Once]
[-RepetitionInterval <TimeSpan>]
[-RepetitionDuration <TimeSpan>]
[-RepeatIndefinitely]
[<CommonParameters>]
New-JobTrigger
[-DaysInterval <Int32>]
[-RandomDelay <TimeSpan>]
-At <DateTime>
[-Daily]
[<CommonParameters>]
New-JobTrigger
[-WeeksInterval <Int32>]
[-RandomDelay <TimeSpan>]
-At <DateTime>
-DaysOfWeek<DayOfWeek[]>
[-Weekly]
[<CommonParameters>]
New-JobTrigger
[-RandomDelay <TimeSpan>]
[-AtStartup]
[<CommonParameters>]
New-JobTrigger
[-RandomDelay <TimeSpan>]
[-User <String>]
[-AtLogOn]
[<CommonParameters>]
Description
Cmdlet, New-JobTrigger
zamanlanmış işi tek seferlik veya yinelenen bir zamanlamayla ya da bir olay gerçekleştiğinde başlatan bir iş tetikleyicisi oluşturur.
Yeni veya var olan bir zamanlanmış iş için iş tetikleyicisi ayarlamak üzere döndüren New-JobTrigger
ScheduledJobTrigger nesnesini kullanabilirsiniz. Ayrıca, mevcut bir zamanlanmış işin iş tetikleyicisini almak için cmdlet'iyle Get-JobTrigger
veya iş tetikleyicisini temsil eden bir karma tablo değeriyle bir iş tetikleyicisi oluşturabilirsiniz.
İş tetikleyicisi oluştururken, cmdlet'i tarafından belirtilen seçeneklerin New-ScheduledJobOption
varsayılan değerlerini gözden geçirin. Görev Zamanlayıcı'daki ilgili seçeneklerle aynı geçerli ve varsayılan değerlere sahip olan bu seçenekler, zamanlanmış işlerin zamanlamasını ve zamanlamasını etkiler.
New-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: Bir Kez Zamanla
Bu örnek, zamanlanmış bir işi yalnızca bir kez başlatmak için bir iş tetikleyicisi oluşturur.
New-JobTrigger -Once -At "1/20/2012 3:00 AM"
New-JobTrigger
Zamanlanmış bir işi yalnızca bir kez başlatan bir iş tetikleyicisi oluşturmak için cmdlet. At parametresinin değeri, Windows PowerShell'in DateTime nesnesine dönüştürdüğü bir dizedir.
At parametresi değeri yalnızca bir saat değil, açık bir tarih içerir. Tarih atlanırsa tetikleyici geçerli tarih ve 03:00 saatiyle oluşturulur ve bu da geçmişteki bir saati temsil eder.
Örnek 2: Günlük Zamanlama
Bu örnek, her üçüncü günde bir zamanlanmış bir iş başlatmak için yeni bir iş tetikleyicisi oluşturur.
New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3
Bu komut, her 3 günde bir saat 04:15'te zamanlanmış bir iş başlatan bir iş tetikleyicisi oluşturur.
At parametresinin değeri bir tarih içermediğinden, geçerli tarih DateTime nesnesinde tarih değeri olarak kullanılır. Tarih ve saat geçmişteyse, zamanlanan iş 3 gün sonra At parametre değerinden sonraki oluşumda başlatılır.
Örnek 3: Haftalık Zamanlama
Bu örnek, o haftanın belirtilen günlerinde her dördüncü haftada bir zamanlanmış bir iş başlatan bir iş tetikleyicisi oluşturur.
New-JobTrigger -Weekly -DaysOfWeek Monday, Wednesday, Friday -At "23:00" -WeeksInterval 4
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
0 Weekly 9/21/2012 11:00:00 PM {Monday, Wednesday, Friday} True
Bu komut Pazartesi, Çarşamba ve Cuma günleri 4 haftada bir 2300 saat (23:00) zamanlanmış bir iş başlatmak için bir iş tetikleyicisi oluşturur.
DaysOfWeek parametre değerini gibi -DaysOfWeek 1, 5
tamsayılara da girebilirsiniz.
Örnek 4: Oturum Açma Zamanlaması
Bu örnek, belirli bir kullanıcının oturum açma sırasında zamanlanmış bir işi başlatmak için bir iş tetikleyicisi oluşturur.
New-JobTrigger -AtLogOn -User Domain01\Admin01
Bu komut, etki alanı yöneticisi bilgisayarda her oturum açtığında zamanlanmış bir iş başlatmak için bir iş tetikleyicisi oluşturur.
Örnek 5: Rastgele Gecikme Kullanma
Bu örnek, rastgele bir zaman aralığı gecikmesiyle yeni bir iş tetikleyicisi oluşturur.
New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00
Bu komut, her gün sabah 1:00'de zamanlanmış bir iş başlatmak için bir iş tetikleyicisi oluşturur. Komut, maksimum gecikmeyi 20 dakikaya ayarlamak için RandomDelay parametresini kullanır. Sonuç olarak, iş her gün 01:00 ile 01:20 arasında çalışır ve aralık rastgele olarak değişir.
Örnekleme, yük dengeleme ve diğer yönetim görevleri için rastgele bir gecikme kullanabilirsiniz. Gecikme değerini ayarlarken cmdlet'in New-ScheduledJobOption
geçerli ve varsayılan değerlerini gözden geçirin ve gecikmeyi seçenek ayarlarıyla koordine edin.
Örnek 6: Yeni Zamanlanmış İş için İş Tetikleyicisi Oluşturma
Bu örnek, yeni bir zamanlanmış iş oluşturmak için bir iş tetikleyicisi kullanır.
$t = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM
Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $t
İlk komut cmdlet'ini New-JobTrigger
kullanarak her Pazartesi, Çarşamba ve Cuma günü saat 12:01'de iş başlatan bir iş tetikleyicisi oluşturur. komutu, iş tetikleyicisini değişkene $t
kaydeder.
İkinci komut cmdlet'ini Register-ScheduledJob
kullanarak her Pazartesi, Çarşamba ve Cuma günü saat 12:01'de bir iş başlatan zamanlanmış bir iş oluşturur. Trigger parametresinin değeri, değişkende $t
depolanan tetikleyicidir.
Örnek 7: Zamanlanmış İşe İş Tetikleyicisi Ekleme
Bu örnekte, mevcut bir zamanlanmış işe iş tetikleyicisi ekleme işlemi gösterilmektedir.
Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)
Zamanlanmış herhangi bir işe birden çok iş tetikleyicisi ekleyebilirsiniz.
Komut, iş tetikleyicisini Add-JobTrigger
SynchronizeApps zamanlanmış işine eklemek için cmdlet'ini kullanır. Tetikleyici parametresinin değeri, işi her gün 03:10'da çalıştıran bir New-JobTrigger
komutdur.
Komut tamamlandığında SynchronizeApps, iş tetikleyicisi tarafından belirtilen saatlerde çalışan zamanlanmış bir iştir.
Örnek 8: Yinelenen iş tetikleyicisi oluşturma
Bu örnek, yalnızca belirli bir süre çalıştırılacak yinelenen bir iş tetikleyicisi oluşturur.
New-JobTrigger -Once -At "09/12/2013 1:00:00" -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-Timespan -Hours 48)
Bu komut, 12 Eylül 2013'te saat 01:00'de başlayarak 48 saat boyunca 60 dakikada bir iş çalıştıran bir iş tetikleyicisi oluşturur.
Örnek 9: Yinelenen iş tetikleyicisini durdurma
Bu örnek yinelenen iş tetikleyicisini durdurur.
Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00
Bu komut, iş tetikleyicisinin süresi dolana kadar her 60 dakikada bir çalıştırılacak şekilde tetiklenen SecurityCheck işini zorla durdurur.
İşin yinelenmesini önlemek için komutu, SecurityCheck işinin iş tetikleyicisini almak için komutunu, Set-JobTrigger
iş tetikleyicisinin yineleme aralığını ve yineleme süresini sıfır (0
olarak değiştirmek için cmdlet'ini kullanırGet-JobTrigger
.
Örnek 10: Saatlik iş tetikleyicisi oluşturma
Bu örnek, süresiz olarak çalışan yinelenen bir iş tetikleyicisi oluşturur.
New-JobTrigger -Once -At "9/21/2012 0am" -RepetitionInterval (New-TimeSpan -Hour 12) -RepetitionDuration ([TimeSpan]::MaxValue)
Aşağıdaki komut, zamanlanmış bir işi süresiz bir süre boyunca 12 saatte bir çalıştıran bir iş tetikleyicisi oluşturur. Zamanlama yarın (21.09.2012) gece yarısı (00:00) başlar.
Parametreler
-At
İşi belirtilen tarih ve saatte başlatır. Cmdlet'in döndürdüğü gibi bir DateTime nesnesi veya , 12/31
veya 3am
gibi April 19, 2012 15:00
bir tarih ve saate dönüştürülebilecek bir dize Get-Date
girin. Tarihin yıl gibi bir öğesini belirtmezseniz, tetikleyicideki tarih geçerli tarihten karşılık gelen öğeye sahiptir.
Once parametresini kullanırken At parametresinin değerini gelecekteki 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 önce bir saat belirtirseniz, iş tetikleyicisi geçmişteki bir saat için oluşturulur.
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: | True |
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: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AtStartup
Windows başlatıldığında zamanlanan işi başlatır.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
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: | 0 |
Default value: | None |
Required: | True |
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 0
veya tamsayıları-6
0
gibi Monday
gün adlarını girin. 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: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Once
Yinelenen olmayan (bir kez) veya özel bir yinelenen zamanlama belirtir. Yinelenen bir zamanlama oluşturmak için RepetitionDuration ve RepetitionInterval parametreleriyle Once parametresini kullanın.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
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 TimeSpan 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 cmdlet'ini Set-JobTrigger
kullanarak RepetitionDuration değerini sıfır (0
olarak ayarlayın.
Bu parametre yalnızca komutunda Once, At ve RepetitionInterval parametreleri kullanıldığında geçerlidir.
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.
Bu parametre yalnızca komutunda Once, At ve RepetitionDuration parametreleri kullanıldığında geçerlidir.
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: | 0 |
Default value: | None |
Required: | True |
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
None
Nesneleri bu cmdlet'e yöneltemezsiniz.
Çıkışlar
Bu cmdlet, oluşturulan tetikleyiciyi temsil eden bir ScheduledJobTrigger nesnesi döndürür.
Notlar
İş tetikleyicileri diske kaydedilmez. Ancak zamanlanmış işler diske kaydedilir ve zamanlanmış herhangi bir işin iş tetikleyicisini almak için öğesini kullanabilirsiniz
Get-JobTrigger
.New-JobTrigger
, geçmişteki bir tarih için tek seferlik tetikleyici gibi zamanlanmış bir işi çalıştırmayan bir iş tetikleyicisi oluşturmanızı engellemez.Register-ScheduledJob
Cmdlet, veyaGet-JobTrigger
cmdlet'leri tarafındanNew-JobTrigger
döndürülen bir tane gibi bir ScheduledJobTrigger nesnesi ya da tetikleyici değerleri içeren bir karma tablo kabul eder.Karma tablo göndermek için aşağıdaki anahtarları kullanın.
- Sıklık:
Once
,Daily
,Weekly
,AtStartup
veyaAtLogon
- At: herhangi bir geçerli zaman dizesi, örneğin
3am
- DaysOfWeek: dize olarak gün adlarının herhangi bir bileşimi, örneğin
"Monday", "Wednesday"
- Aralık: herhangi bir geçerli sıklık aralığını tamsayı olarak
- RandomDelay: geçerli herhangi bir zaman aralığı dizesi, örneğin
30minutes
- Kullanıcı: gibi
Domain1\User01
geçerli herhangi bir kullanıcı, yalnızca AtLogon frekans değeriyle kullanılır
- Sıklık:
İ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