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 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-ScheduledJobOption
adalah 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 di 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
.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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
.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-HideInTaskScheduler
Jangan tampilkan pekerjaan di Penjadwal Tugas. Nilai ini hanya memengaruhi komputer tempat pekerjaan berjalan. Secara default, tugas terjadwal muncul di Penjadwal Tugas.
Meskipun tugas disembunyikan, pengguna dapat menampilkan tugas dengan memilih opsi Tampilkan tampilan tugas tersembunyi di Penjadwal Tugas.
Parameter HideInTaskScheduler mengatur nilai properti ShowInTaskScheduler dari pekerjaan terjadwal ke $false
.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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 .
Jenis: | TimeSpan |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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 .
Jenis: | TimeSpan |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-MultipleInstancePolicy
Menentukan bagaimana sistem merespons permintaan untuk memulai instans pekerjaan terjadwal saat instans lain pekerjaan 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.
Jenis: | TaskMultipleInstancePolicy |
Nilai yang diterima: | None, IgnoreNew, Parallel, Queue, StopExisting |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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
.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-RestartOnIdleResume
Memulai ulang pekerjaan terjadwal ketika komputer diam. Parameter ini berfungsi dengan parameter StopIfGoingOffIdle , yang menangguhkan pekerjaan terjadwal yang berjalan jika komputer menjadi aktif (meninggalkan status menganggur).
Parameter RestartOnIdleResume menetapkan nilai properti RestartOnIdleResume dari pekerjaan terjadwal ke $true
.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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-ScheduledJob
Kredensial untuk memberikan kredensial eksplisit untuk pekerjaan tersebut.
Parameter RunElevated menetapkan nilai properti RunElevated dari pekerjaan terjadwal ke $true
.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-StartIfIdle
Memulai pekerjaan terjadwal jika komputer telah menganggur 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
.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-StartIfOnBattery
Memulai pekerjaan terjadwal meskipun komputer berjalan pada baterai pada waktu mulai yang dijadwalkan.
Nilai defaultnya adalah $false
.
Parameter StartIfOnBattery menetapkan nilai properti StartIfOnBatteries dari pekerjaan terjadwal ke $true
.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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 mengatur nilai properti StopIfGoingOffIdle dari pekerjaan terjadwal ke $true
.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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
.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
None
Anda tidak dapat menyalurkan objek ke cmdlet ini.
Output
Cmdlet ini mengembalikan objek ScheduledJobOptions yang mewakili opsi yang dibuat.
Catatan
Anda dapat menggunakan objek ScheduledJobOptions yang
New-ScheduledJobOption
dibuat sebagai nilai parameter ScheduledJobOption cmdletRegister-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"}
Link Terkait
- 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
- Set-ScheduledJobOption
- Unregister-ScheduledJob