Set-ScheduledJobOption

Mengubah opsi pekerjaan dari pekerjaan terjadwal.

Sintaks

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

Deskripsi

Set-ScheduledJobOptions Cmdlet mengubah opsi pekerjaan pekerjaan terjadwal.

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

Untuk mengaktifkan opsi pekerjaan, gunakan parameter yang mengatur opsi tersebut. Untuk menonaktifkan opsi, ketik nama parameter, titik dua (:), dan $false. Misalnya, untuk menonaktifkan opsi RunElevated , ketik -RunElevated:$false.

Setiap objek opsi pekerjaan menyertakan properti JobDefinition yang berisi pekerjaan terjadwal, sehingga asosiasi dengan pekerjaan terjadwal dipertahankan saat opsi pekerjaan diubah.

Opsi pekerjaan terjadwal menentukan bagaimana pekerjaan berjalan saat dimulai oleh Penjadwal Tugas. Opsi ini tidak berlaku saat Anda menggunakan Start-Job cmdlet untuk memulai pekerjaan terjadwal.

Set-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: Mengubah opsi pekerjaan

Get-ScheduledJobOption -Name "DeployPackage"

StartIfOnBatteries     : False
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 : IgnoreNew
JobDefinition          :

Get-ScheduledJobOption -Name "DeployPackage" |
    Set-ScheduledJobOption -WakeToRun -RequireNetwork:$false -Passthru

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

Contoh ini menunjukkan cara mengubah opsi pekerjaan terjadwal di komputer lokal.

Perintah pertama menggunakan Get-ScheduledJobOption cmdlet untuk mendapatkan opsi pekerjaan dari pekerjaan terjadwal DeployPackage. Output menunjukkan bahwa properti WakeToRun dan RunElevated diatur ke $false.

Perintah kedua menggunakan Set-ScheduledJobOpton cmdlet untuk mengubah opsi pekerjaan sehingga nilai properti WakeToRun dan RunWithoutNetwork $True. Perintah menggunakan parameter Passthru untuk mengembalikan pemicu setelah perubahan.

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

Contoh 2: Mengubah opsi pada semua pekerjaan terjadwal jarak jauh

Invoke-Command -Computer "Server01" -ScriptBlock {
    Get-ScheduledJob |
        Get-ScheduledJobOption |
        Set-ScheduledJobOption -IdleTimeout 2:00:00
}

Perintah ini mengubah nilai IdleTimeout dari satu jam (nilai default) menjadi dua jam pada semua 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-ScheduledJobOption cmdlet, yang mendapatkan opsi pekerjaan dari pekerjaan terjadwal. Setiap objek opsi pekerjaan berisi properti JobDefinition yang berisi pekerjaan terjadwal, sehingga objek opsi tetap terkait dengan pekerjaan terjadwal bahkan ketika diubah.

Pemicu pekerjaan disalurkan ke Set-ScheduledJobOption cmdlet, yang mengubah nilai opsi IdleTimeout menjadi dua jam (2:00:00).

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
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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 rentang waktu, seperti objek yang dihasilkan oleh New-TimeSpan cmdlet, atau masukkan nilai dalam format yang secara otomatis dikonversi <hours>:<minutes>:<seconds> 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IdleTimeout

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 rentang waktu, seperti objek yang dihasilkan oleh New-TimeSpan cmdlet, atau masukkan nilai dalam format yang secara otomatis dikonversi <hours>:<minutes>:<seconds> 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Menentukan opsi pekerjaan. Masukkan variabel yang berisi objek ScheduledJobOptions atau ketik perintah atau ekspresi yang mendapatkan objek ScheduledJobOptions , seperti Get-ScheduledJobOption perintah. Anda juga dapat menyalurkan objek ScheduledJobOptions ke Set-ScheduledJobOption.

Type:Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MultipleInstancePolicy

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

  • IgnoreNew - Instans pekerjaan baru diabaikan. Ini adalah nilai default.
  • 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Mengembalikan objek yang mewakili item tempat Anda bekerja. Secara default, cmdlet ini tidak menghasilkan output apa pun.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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-ScheduledJob Kredensial 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
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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 mengatur nilai properti StopIfGoingOffIdle dari pekerjaan terjadwal ke $true.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Anda dapat menyalurkan objek opsi pekerjaan terjadwal ke cmdlet ini.

Output

None

Secara default, cmdlet ini tidak mengembalikan output.

Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Saat Anda menggunakan parameter PassThru , cmdlet ini mengembalikan opsi pekerjaan yang diubah.