Set-JobTrigger

Mengubah pemicu pekerjaan dari pekerjaan terjadwal.

Sintaks

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

Deskripsi

Set-JobTrigger Cmdlet mengubah properti pemicu pekerjaan dari pekerjaan terjadwal. Anda dapat menggunakannya untuk mengubah waktu atau frekuensi pekerjaan dimulai atau diubah dari jadwal berbasis waktu menjadi jadwal yang dipicu oleh masuk atau memulai.

Pemicu pekerjaan menentukan jadwal atau kondisi berulang untuk memulai pekerjaan terjadwal. Meskipun pemicu pekerjaan tidak disimpan ke disk, Anda dapat mengubah pemicu pekerjaan pekerjaan terjadwal, yang disimpan ke disk.

Untuk mengubah pemicu pekerjaan dari pekerjaan terjadwal, mulailah dengan menggunakan Get-JobTrigger cmdlet untuk mendapatkan pemicu pekerjaan dari pekerjaan terjadwal. Kemudian, pipa pemicu ke Set-JobTrigger atau simpan pemicu dalam variabel dan gunakan parameter InputObject cmdlet Set-JobTrigger untuk mengidentifikasi pemicu. Gunakan parameter Set-JobTrigger yang tersisa untuk mengubah pemicu pekerjaan.

Saat Anda mengubah jenis pemicu pekerjaan, seperti mengubah pemicu pekerjaan dari pemicu harian atau mingguan ke pemicu AtLogon , properti pemicu asli akan dihapus. Namun, jika Anda mengubah nilai pemicu, tetapi bukan jenisnya, seperti mengubah hari dalam pemicu mingguan, hanya properti yang Anda tentukan yang diubah. Semua properti lain dari pemicu pekerjaan asli dipertahankan.

Set-JobTriggeradalah salah satu kumpulan cmdlet penjadwalan pekerjaan dalam modul PSScheduledJob yang disertakan dalam Windows PowerShell.

Untuk informasi selengkapnya tentang Pekerjaan Terjadwal, lihat topik Tentang dalam modul PSScheduledJob. Impor modul PSScheduledJob lalu ketik: Get-Help about_Scheduled* atau lihat about_Scheduled_Jobs.

Cmdlet ini diperkenalkan pada Windows PowerShell 3.0.

Contoh

Contoh 1: Mengubah hari dalam pemicu pekerjaan

Contoh ini menunjukkan cara mengubah hari dalam pemicu pekerjaan mingguan.

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

Perintah pertama menggunakan Get-JobTrigger cmdlet untuk mendapatkan pemicu pekerjaan dari pekerjaan terjadwal DeployPackage . Output menunjukkan bahwa pemicu memulai pekerjaan pada tengah malam pada hari Rabu dan Sabtu.

Perintah kedua menggunakan Get-JobTrigger cmdlet untuk mendapatkan pemicu pekerjaan dari pekerjaan terjadwal DeployPackage . Operator alur (|) mengirim pemicu ke Set-JobTrigger cmdlet, yang mengubah pemicu pekerjaan sehingga memulai DeployPackage pekerjaan pada hari Rabu dan Minggu. Perintah menggunakan parameter Passthru untuk mengembalikan pemicu setelah perubahan.

Perintah ini tidak diperlukan; hanya disertakan untuk menunjukkan efek perubahan pemicu.

Contoh 2: Mengubah jenis pemicu pekerjaan

Contoh ini menunjukkan cara mengubah jenis pemicu pekerjaan yang memulai pekerjaan. Perintah dalam contoh ini menggantikan AtStartup pemicu pekerjaan dengan pemicu mingguan.

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

Perintah pertama menggunakan Get-JobTrigger cmdlet untuk mendapatkan pemicu pekerjaan dari pekerjaan terjadwal Inventory . Output menunjukkan bahwa pekerjaan memiliki dua pemicu pemicu harian dan pemicu AtStartup .

Perintah kedua menggunakan Get-JobTrigger cmdlet untuk mendapatkan pemicu pekerjaan AtStartup dari Inventory pekerjaan. Perintah menggunakan parameter TriggerID untuk mengidentifikasi pemicu pekerjaan. Operator alur (|) mengirim pemicu pekerjaan ke Set-JobTrigger cmdlet, yang mengubahnya menjadi pemicu pekerjaan mingguan yang berjalan setiap empat minggu pada hari Senin tengah malam. Perintah menggunakan parameter Passthru untuk mengembalikan pemicu setelah perubahan.

Perintah ini tidak diperlukan; hanya disertakan untuk menunjukkan efek perubahan pemicu.

Contoh 3: Mengubah pengguna pada pemicu pekerjaan jarak jauh

Invoke-Command -ComputerName "Server01" -ScriptBlock {Get-ScheduledJob | Get-JobTrigger | Where-Object {$_.User} | Set-JobTrigger -User "Domain01/Admin02"}

Perintah ini mengubah pengguna di semua pemicu pekerjaan AtLogon dari pekerjaan terjadwal di komputer Server01.

Perintah menggunakan Invoke-Command cmdlet untuk menjalankan perintah di komputer Server01.

Perintah jarak jauh dimulai dengan Get-ScheduledJob perintah yang mendapatkan semua pekerjaan terjadwal di komputer. Pekerjaan terjadwal disalurkan ke Get-JobTrigger cmdlet, yang mendapatkan pemicu pekerjaan dari pekerjaan terjadwal. Setiap pemicu pekerjaan berisi properti JobDefinition yang berisi pekerjaan terjadwal, sehingga pemicu tetap terkait dengan pekerjaan terjadwal bahkan ketika diubah.

Pemicu pekerjaan disalurkan ke Where-Object cmdlet, yang mendapatkan pemicu pekerjaan yang memiliki properti Pengguna . Pemicu pekerjaan yang dipilih disalurkan ke Set-JobTrigger cmdlet, yang mengubah pengguna menjadi Domain01\Admin02.

Contoh 4: Mengubah salah satu dari banyak pemicu pekerjaan

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

Perintah dalam contoh ini mengubah interval pengulangan dari pemicu pekerjaan Once dari SecurityCheck pekerjaan terjadwal dari setiap 60 menit menjadi setiap 90 menit. Pekerjaan SecurityCheck terjadwal memiliki tiga pemicu pekerjaan, sehingga perintah menggunakan parameter TriggerId cmdlet Get-JobTrigger untuk mengidentifikasi pemicu pekerjaan yang sedang diubah.

Perintah pertama menggunakan Get-JobTrigger cmdlet untuk mendapatkan semua pemicu pekerjaan dari pekerjaan terjadwal SecurityCheck . Output, yang menampilkan ID pemicu pekerjaan, mengungkapkan bahwa pemicu pekerjaan Once memiliki ID3.

Perintah kedua menggunakan parameter TriggerID cmdlet Get-JobTrigger untuk mendapatkan pemicu Once dari pekerjaan terjadwal SecurityCheck . Perintah menyalurkan pemicu ke Format-List cmdlet, yang menampilkan semua properti pemicu Pekerjaan sekali . Output menunjukkan bahwa pemicu memulai pekerjaan sekali setiap jam (RepetitionInterval adalah 1 jam) selama satu hari (RepetitionDuration adalah 1 hari).

Perintah ketiga mengubah interval pengulangan pemicu pekerjaan dari satu jam menjadi 90 menit. Perintah tidak mengembalikan output apa pun.

Perintah keempat menampilkan efek perubahan. Output menunjukkan bahwa pemicu memulai pekerjaan setiap 90 menit sekali (RepetitionInterval adalah 1 jam, 30 menit) selama satu hari (RepetitionDuration adalah 1 hari).

Parameter

-At

Memulai pekerjaan pada tanggal dan waktu yang ditentukan. Masukkan objek DateTime , seperti Get-Date yang dikembalikan cmdlet, atau string yang dapat dikonversi ke waktu, seperti April 19, 2012 15:00, 12/31/2013 9:00 PM, atau 3am.

Jika Anda tidak menentukan elemen objek DateTime , seperti detik, elemen pemicu pekerjaan tersebut tidak diubah. Jika pemicu pekerjaan asli tidak menyertakan objek DateTime dan Anda menghilangkan elemen, pemicu pekerjaan dibuat dengan elemen yang sesuai dari tanggal dan waktu saat ini.

Saat menggunakan parameter Once , atur nilai parameter At ke tanggal dan waktu tertentu. Karena tanggal default dalam objek DateTime adalah tanggal saat ini, mengatur waktu sebelum waktu saat ini tanpa tanggal eksplisit menghasilkan pemicu pekerjaan untuk waktu di masa lalu.

Objek DateTime, dan string yang dikonversi ke objek DateTime, secara otomatis disesuaikan agar kompatibel dengan format tanggal dan waktu yang dipilih untuk komputer lokal di Wilayah dan Bahasa di Panel Kontrol.

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

-AtLogOn

Memulai pekerjaan terjadwal ketika pengguna yang ditentukan masuk ke komputer. Untuk menentukan pengguna, gunakan parameter Pengguna .

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

-AtStartup

Memulai pekerjaan terjadwal ketika Windows dimulai.

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

-Daily

Menentukan jadwal pekerjaan harian berulang. Gunakan parameter lain dalam parameter Harian yang diatur untuk menentukan detail jadwal.

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

-DaysInterval

Menentukan jumlah hari antara kemunculan pada jadwal harian. Misalnya, nilai 3 memulai pekerjaan terjadwal pada hari 1, , 47 dan sebagainya. Nilai defaultnya adalah 1.

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

-DaysOfWeek

Menentukan hari dalam seminggu di mana pekerjaan terjadwal mingguan berjalan. Masukkan nama hari, seperti Monday, Thursday, bilangan-60 bulat , di mana 0 mewakili Hari Minggu, atau tanda bintang (*) untuk mewakili setiap hari. Parameter ini diperlukan dalam kumpulan parameter Mingguan .

Nama hari dikonversi ke nilai bilangan bulatnya dalam pemicu pekerjaan. Saat Anda mengapit nama hari dalam tanda kutip dalam perintah, sertakan setiap nama hari dalam tanda kutip terpisah, seperti "Monday", "Tuesday". Jika Anda mengapit nama beberapa hari dalam satu pasangan tanda kutip, nilai bilangan bulat yang sesuai akan dijumlahkan. Misalnya, "Monday, Tuesday" (1 + 2) menghasilkan nilai Wednesday (3).

Type:DayOfWeek[]
Accepted values:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Menentukan pemicu pekerjaan. Masukkan variabel yang berisi objek ScheduledJobTrigger atau ketik perintah atau ekspresi yang mendapatkan objek ScheduledJobTrigger , seperti Get-JobTrigger perintah. Anda juga dapat menyalurkan objek ScheduledJobTrigger ke Set-JobTrigger.

Jika Anda menentukan beberapa pemicu pekerjaan, Set-JobTrigger buat perubahan yang sama pada semua pemicu pekerjaan.

Type:Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger[]
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Once

Menentukan jadwal yang tidak berulang (satu kali).

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

-PassThru

Mengembalikan pemicu pekerjaan yang berubah. Secara default, cmdlet ini tidak menghasilkan output apa pun.

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

-RandomDelay

Mengaktifkan penundaan acak yang dimulai pada waktu mulai terjadwal, dan mengatur nilai penundaan maksimum. Panjang penundaan diatur secara acak pseudo untuk setiap awal dan bervariasi dari tidak ada penundaan hingga waktu yang ditentukan oleh nilai parameter ini. Nilai default, nol (00:00:00), menonaktifkan penundaan acak.

Masukkan objek rentang waktu, seperti objek yang dikembalikan oleh New-TimeSpan cmdlet, atau masukkan nilai dalam format, yang secara otomatis dikonversi <hours>:<minutes>:<seconds> menjadi objek rentang waktu.

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

-RepeatIndefinitely

Parameter ini, tersedia mulai Windows PowerShell 4.0, menghilangkan kebutuhan menentukan nilai TimeSpan.MaxValue untuk parameter RepetitionDuration untuk menjalankan pekerjaan terjadwal berulang kali, untuk periode yang tidak terbatas.

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

-RepetitionDuration

Mengulangi pekerjaan hingga waktu yang ditentukan kedaluwarsa. Frekuensi pengulangan ditentukan oleh nilai parameter RepetitionInterval . Misalnya, jika nilai RepetitionInterval adalah 5 menit dan nilai RepetitionDuration adalah 2 jam, pekerjaan dipicu setiap lima menit selama dua jam.

Masukkan objek rentang waktu, seperti objek yang New-TimeSpan dikembalikan cmdlet atau string yang dapat dikonversi menjadi objek rentang waktu, seperti 1:05:30.

Untuk menjalankan pekerjaan tanpa batas waktu, tambahkan parameter RepeatIndefinitely sebagai gantinya.

Untuk menghentikan pekerjaan sebelum durasi pengulangan pemicu pekerjaan kedaluwarsa, atur nilai RepetitionDuration ke nol (0).

Untuk mengubah durasi pengulangan atau interval pengulangan pemicu pekerjaan Once , perintah harus menyertakan parameter RepetitionInterval dan RepetitionDuration . Untuk mengubah durasi pengulangan atau interval pengulangan dari jenis pemicu pekerjaan lainnya, perintah harus menyertakan parameter Once, At, RepetitionInterval dan RepetitionDuration .

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

-RepetitionInterval

Mengulangi pekerjaan pada interval waktu yang ditentukan. Misalnya, jika nilai parameter ini adalah 2 jam, pekerjaan dipicu setiap dua jam. Nilai default, 0, tidak mengulangi pekerjaan.

Masukkan objek rentang waktu, seperti objek yang New-TimeSpan dikembalikan cmdlet atau string yang dapat dikonversi menjadi objek rentang waktu, seperti 1:05:30.

Untuk mengubah durasi pengulangan atau interval pengulangan pemicu pekerjaan Once , perintah harus menyertakan parameter RepetitionInterval dan RepetitionDuration . Untuk mengubah durasi pengulangan atau interval pengulangan dari jenis pemicu pekerjaan lainnya, perintah harus menyertakan parameter Once, At, RepetitionInterval dan RepetitionDuration .

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

-User

Menentukan pengguna yang memicu AtLogon memulai pekerjaan terjadwal. Masukkan nama pengguna dalam <UserName> format atau <Domain>\<Username> masukkan tanda bintang (*) untuk mewakili semua pengguna. Nilai defaultnya adalah semua pengguna.

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

-Weekly

Menentukan jadwal pekerjaan mingguan berulang. Gunakan parameter lain dalam parameter Mingguan yang diatur untuk menentukan detail jadwal.

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

-WeeksInterval

Menentukan jumlah minggu antara kemunculan pada jadwal pekerjaan mingguan. Misalnya, nilai 3 memulai pekerjaan terjadwal pada minggu 1, , 47 dan sebagainya. Nilai defaultnya adalah 1.

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

Input

Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger

Anda dapat menyalurkan beberapa pemicu pekerjaan ke Set-JobTrigger.

Output

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger

Saat Anda menggunakan parameter Passthru , Set-JobTrigger mengembalikan pemicu pekerjaan yang diubah. Jika tidak, cmdlet ini tidak menghasilkan output apa pun.

Catatan

  • Pemicu pekerjaan memiliki properti JobDefinition yang mengaitkannya dengan pekerjaan terjadwal. Saat Anda mengubah pemicu pekerjaan dari pekerjaan terjadwal, pekerjaan akan diubah. Anda tidak perlu menggunakan Set-ScheduledJob perintah untuk menerapkan pemicu yang diubah ke pekerjaan terjadwal.