New-ScheduledJobOption

Membuat objek yang berisi opsi tingkat lanjut untuk pekerjaan terjadwal.

Sintaks

New-ScheduledJobOption
   [-RunElevated]
   [-HideInTaskScheduler]
   [-RestartOnIdleResume]
   [-MultipleInstancePolicy <TaskMultipleInstancePolicy>]
   [-DoNotAllowDemandStart]
   [-RequireNetwork]
   [-StopIfGoingOffIdle]
   [-WakeToRun]
   [-ContinueIfGoingOnBattery]
   [-StartIfOnBattery]
   [-IdleTimeout <TimeSpan>]
   [-IdleDuration <TimeSpan>]
   [-StartIfIdle]
   [<CommonParameters>]

Deskripsi

New-ScheduledJobOption Cmdlet membuat objek yang berisi opsi tingkat lanjut untuk pekerjaan terjadwal.

Anda dapat menggunakan objek ScheduledJobOptions yang New-ScheduledJobOption kembali untuk mengatur opsi pekerjaan untuk pekerjaan terjadwal baru atau yang sudah ada. Atau, Anda dapat mengatur opsi pekerjaan dengan menggunakan Get-ScheduledJobOption cmdlet untuk mendapatkan opsi pekerjaan dari pekerjaan terjadwal yang ada atau dengan menggunakan nilai tabel hash untuk mewakili opsi pekerjaan.

Tanpa parameter, New-ScheduledJobOption menghasilkan objek yang berisi nilai default untuk semua opsi. Karena semua properti kecuali untuk properti JobDefinition dapat diedit, Anda dapat menggunakan objek yang dihasilkan sebagai templat, dan membuat objek opsi standar untuk perusahaan Anda.

Saat membuat pekerjaan terjadwal dan mengatur opsi pekerjaan terjadwal, tinjau nilai default semua opsi pekerjaan terjadwal. Pekerjaan terjadwal hanya berjalan ketika semua kondisi yang ditetapkan untuk eksekusinya terpenuhi.

New-ScheduledJobOptionadalah 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: Membuat objek opsi pekerjaan terjadwal dengan nilai default

Contoh ini membuat objek opsi pekerjaan terjadwal dengan nilai default.

New-ScheduledJobOption

Contoh 2: Membuat objek opsi pekerjaan terjadwal dengan nilai kustom

Contoh ini membuat objek opsi pekerjaan terjadwal dengan nilai kustom

New-ScheduledJobOption -RequireNetwork -StartIfOnBattery

StartIfOnBatteries     : True
StopIfGoingOnBatteries : True
WakeToRun              : False
StartIfNotIdle         : True
StopIfGoingOffIdle     : False
RestartOnIdleResume    : False
IdleDuration           : 00:10:00
IdleTimeout            : 01:00:00
ShowInTaskScheduler    : True
RunElevated            : False
RunWithoutNetwork      : False
DoNotAllowDemandStart  : False
MultipleInstancePolicy : Ignore
NewJobDefinition       :

Perintah berikut membuat objek pekerjaan terjadwal yang memerlukan jaringan dan menjalankan pekerjaan terjadwal meskipun komputer tidak tersambung ke daya AC.

Output menunjukkan bahwa parameter RequireNetwork mengubah nilai properti RunWithoutNetwork menjadi $false dan parameter StartIfOnBattery mengubah nilai properti StartIfOnBatteries menjadi $true.

Contoh 3: Mengatur opsi untuk pekerjaan terjadwal baru

Contoh ini menunjukkan cara menggunakan objek ScheduledJobOptions yang New-ScheduledJobOption kembali untuk mengatur opsi untuk pekerjaan terjadwal baru.

$runAsAdmin = New-ScheduledJobOption -RunElevated
Register-ScheduledJob -Name Backup -FilePath D:\Scripts\Backup.ps1 -Trigger $Mondays -ScheduledJobOption $RunAsAdmin
Get-ScheduledJobOption -Name Backup

StartIfOnBatteries     : False
StopIfGoingOnBatteries : True
WakeToRun              : False
StartIfNotIdle         : True
StopIfGoingOffIdle     : False
RestartOnIdleResume    : False
IdleDuration           : 00:10:00
IdleTimeout            : 01:00:00
ShowInTaskScheduler    : True
RunElevated            : True
RunWithoutNetwork      : True
DoNotAllowDemandStart  : False
MultipleInstancePolicy : IgnoreNew
JobDefinition          : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

Perintah pertama membuat objek ScheduledJobOptions dengan parameter RunElevated . Ini menyimpan objek dalam $runAsAdmin variabel .

Perintah kedua menggunakan Register-ScheduledJob cmdlet untuk membuat pekerjaan terjadwal baru. Nilai parameter ScheduledJobOption adalah objek opsi dalam nilai $runAsAdmin variabel.

Perintah ketiga menggunakan Get-ScheduledJobOption cmdlet untuk mendapatkan opsi pekerjaan dari pekerjaan terjadwal Backup. Output cmdlet menunjukkan bahwa properti RunElevated diatur ke $true dan properti JobDefinition dari objek opsi pekerjaan sekarang diisi dengan objek pekerjaan terjadwal untuk pekerjaan terjadwal Backup.

Contoh 4: Mengurutkan properti objek opsi pekerjaan terjadwal

Contoh ini menunjukkan cara mengurutkan properti objek ScheduledJobOptions dalam urutan alfabet agar mudah dibaca.

$options = New-ScheduledJobOption -WakeToRun
$options.PSObject.Properties | Sort-Object -Property Name | Format-Table -Property Name, Value -Autosize

Name                       Value
----                       -----
DoNotAllowDemandStart      False
IdleDuration            00:10:00
IdleTimeout             01:00:00
JobDefinition
MultipleInstancePolicy IgnoreNew
RestartOnIdleResume        False
RunElevated                False
RunWithoutNetwork           True
ShowInTaskScheduler         True
StartIfNotIdle              True
StartIfOnBatteries         False
StopIfGoingOffIdle         False
StopIfGoingOnBatteries      True
WakeToRun                   True

Perintah pertama menggunakan New-ScheduledJobOption cmdlet untuk membuat objek ScheduledJobOptions . Perintah menggunakan parameter WakeToRun dan menyimpan objek yang dihasilkan dalam $options variabel .

Untuk mendapatkan properti $Options sebagai objek, perintah kedua menggunakan properti PSObject dari semua objek Windows PowerShell dan properti Propertinya. Perintah kemudian menyalurkan objek properti ke Sort-Object cmdlet, yang mengurutkan properti dalam urutan alfabet berdasarkan nama, lalu ke Format-Table cmdlet, yang menampilkan nama dan nilai properti dalam tabel.

Format ini membuatnya jauh lebih mudah untuk menemukan properti WakeToRun dari objek ScheduledJobOptions di $options dan untuk memverifikasi bahwa nilainya diubah dari $false ke $true.

Parameter

-ContinueIfGoingOnBattery

Jangan hentikan pekerjaan terjadwal jika komputer beralih ke daya baterai (terputus dari daya AC) saat pekerjaan sedang berjalan. Secara default, pekerjaan terjadwal berhenti ketika komputer terputus dari daya AC.

Parameter ContinueIfGoingOnBattery menetapkan nilai properti StopIfGoingOnBatteries dari pekerjaan terjadwal ke $true.

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

-DoNotAllowDemandStart

Mulai pekerjaan hanya ketika dipicu. Pengguna tidak dapat memulai pekerjaan secara manual, seperti dengan menggunakan fitur Jalankan di Penjadwal Tugas.

Parameter ini hanya memengaruhi Penjadwal Tugas. Ini tidak mencegah pengguna menggunakan Start-Job cmdlet untuk memulai pekerjaan.

Parameter DoNotAllowDemandStart menetapkan nilai properti DoNotAllowDemandStart dari pekerjaan terjadwal ke $true.

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

-HideInTaskScheduler

Jangan tampilkan pekerjaan di Penjadwal Tugas. Nilai ini hanya mempengaruhi komputer tempat pekerjaan berjalan. Secara default, tugas terjadwal muncul di Penjadwal Tugas.

Meskipun tugas disembunyikan, pengguna bisa menampilkan tugas dengan memilih opsi Tampilkan tampilan tugas tersembunyi di Penjadwal Tugas.

Parameter HideInTaskScheduler menetapkan nilai properti ShowInTaskScheduler dari pekerjaan terjadwal ke $false.

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

-IdleDuration

Menentukan berapa lama komputer harus menganggur sebelum pekerjaan dimulai. Nilai defaultnya adalah 10 menit. Jika komputer tidak menganggur selama durasi yang ditentukan sebelum nilai IdleTimeout kedaluwarsa, pekerjaan terjadwal tidak berjalan hingga waktu terjadwal berikutnya, jika ada.

Masukkan objek TimeSpan , seperti objek yang dihasilkan oleh New-TimeSpan cmdlet, atau masukkan nilai dalam <format jam>:<menit>:<detik> yang secara otomatis dikonversi ke objek TimeSpan .

Untuk mengaktifkan nilai ini, gunakan parameter StartIfIdle . Secara default, properti StartIfNotIdle dari pekerjaan terjadwal diatur ke $true dan Windows PowerShell mengabaikan nilai IdleDuration dan IdleTimeout.

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

-IdleTimeout

Menentukan berapa lama pekerjaan terjadwal menunggu komputer diam. Jika batas waktu ini kedaluwarsa sebelum komputer tetap menganggur untuk periode waktu yang ditentukan oleh parameter IdleDuration , pekerjaan tidak berjalan sampai waktu terjadwal berikutnya, jika ada. Nilai defaultnya adalah satu jam.

Masukkan objek TimeSpan , seperti objek yang dihasilkan oleh New-TimeSpan cmdlet, atau masukkan nilai dalam <format jam>:<menit>:<detik> yang secara otomatis dikonversi ke objek TimeSpan .

Untuk mengaktifkan nilai ini, gunakan parameter StartIfIdle . Secara default, properti StartIfNotIdle dari pekerjaan terjadwal diatur ke $true dan Windows PowerShell mengabaikan nilai IdleDuration dan IdleTimeout.

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

-MultipleInstancePolicy

Menentukan bagaimana sistem merespons permintaan untuk memulai instans pekerjaan terjadwal saat instans lain dari pekerjaan sedang berjalan. Nilai defaultnya adalah IgnoreNew. Nilai yang dapat diterima untuk parameter ini adalah:

  • IgnoreNew - Instans pekerjaan baru diabaikan.
  • Parallel - Instans pekerjaan baru segera dimulai.
  • Queue - Instans pekerjaan baru dimulai segera setelah instans saat ini selesai.
  • StopExisting - Instans pekerjaan saat ini berhenti dan instans baru dimulai.

Untuk menjalankan pekerjaan, semua kondisi untuk jadwal pekerjaan harus dipenuhi. Misalnya, jika kondisi yang ditetapkan oleh parameter RequireNetwork, IdleDuration, dan IdleTimeout tidak terpenuhi, instans pekerjaan tidak dimulai, terlepas dari nilai parameter ini.

Type:Microsoft.PowerShell.ScheduledJob.TaskMultipleInstancePolicy
Accepted values:None, IgnoreNew, Parallel, Queue, StopExisting
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-RequireNetwork

Menjalankan pekerjaan terjadwal hanya ketika koneksi jaringan tersedia.

Jika Anda menentukan parameter ini dan jaringan tidak tersedia pada waktu mulai terjadwal, pekerjaan tidak berjalan hingga waktu mulai terjadwal berikutnya, jika ada.

Parameter RequireNetwork menetapkan nilai properti RunWithoutNetwork dari pekerjaan terjadwal ke $false.

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

-RestartOnIdleResume

Memulai ulang pekerjaan terjadwal ketika komputer menjadi diam. Parameter ini berfungsi dengan parameter StopIfGoingOffIdle , yang menangguhkan pekerjaan terjadwal yang sedang berjalan jika komputer menjadi aktif (meninggalkan status menganggur).

Parameter RestartOnIdleResume menetapkan nilai properti RestartOnIdleResume dari pekerjaan terjadwal ke $true.

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

-RunElevated

Menjalankan pekerjaan terjadwal dengan izin anggota grup Administrator di komputer tempat pekerjaan berjalan.

Untuk mengaktifkan pekerjaan terjadwal untuk dijalankan dengan izin Administrator, gunakan parameter Register-ScheduledJobKredensial untuk memberikan kredensial eksplisit untuk pekerjaan tersebut.

Parameter RunElevated menetapkan nilai properti RunElevated dari pekerjaan terjadwal ke $true.

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

-StartIfIdle

Memulai pekerjaan terjadwal jika komputer telah diam selama waktu yang ditentukan oleh parameter IdleDuration sebelum waktu yang ditentukan oleh parameter IdleTimeout kedaluwarsa.

Secara default, parameter IdleDuration dan IdleTimeout diabaikan dan pekerjaan dimulai pada waktu mulai yang dijadwalkan meskipun komputer sibuk.

Jika Anda menentukan parameter ini dan komputer sibuk (tidak menganggur) pada waktu mulai yang dijadwalkan, pekerjaan tidak berjalan hingga waktu mulai terjadwal berikutnya, jika ada.

Parameter StartIfIdle menetapkan nilai properti StartIfNotIdle dari pekerjaan terjadwal ke $false.

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

-StartIfOnBattery

Memulai pekerjaan terjadwal meskipun komputer berjalan dengan baterai pada waktu mulai yang dijadwalkan. Nilai defaultnya adalah $false.

Parameter StartIfOnBattery menetapkan nilai properti StartIfOnBatteries dari pekerjaan terjadwal ke $true.

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

-StopIfGoingOffIdle

Menangguhkan pekerjaan terjadwal yang sedang berjalan jika komputer menjadi aktif (tidak menganggur) saat pekerjaan sedang berjalan.

Secara default, pekerjaan terjadwal yang ditangguhkan ketika komputer menjadi aktif dilanjutkan ketika komputer menjadi menganggur lagi. Untuk mengubah perilaku default ini, gunakan parameter RestartOnIdleResume .

Parameter StopIfGoingOffIdle menetapkan nilai properti StopIfGoingOffIdle dari pekerjaan terjadwal ke $true.

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

-WakeToRun

Membangunkan komputer dari status Hibernate atau Tidur pada waktu mulai yang dijadwalkan sehingga dapat menjalankan pekerjaan. Secara default, jika komputer dalam status Hibernate atau Tidur pada waktu mulai yang dijadwalkan, pekerjaan tidak berjalan.

Parameter WakeToRun menetapkan nilai properti WakeToRun dari pekerjaan terjadwal ke $true.

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

Input

None

Anda tidak dapat menyalurkan input ke cmdlet ini.

Output

Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Catatan

  • Anda dapat menggunakan objek ScheduledJobOptions yang New-ScheduledJobOption dibuat sebagai nilai parameter ScheduledJobOption cmdlet Register-ScheduledJob . Namun, parameter ScheduledJobOption juga dapat mengambil nilai tabel hash yang menentukan properti objek ScheduledJobOptions dan nilainya, seperti:

    @{ShowInTaskScheduler=$False; RunElevated=$True; IdleDuration="00:05"}