Set-ScheduledJob
Mengubah pekerjaan terjadwal.
Sintaks
Set-ScheduledJob
[-Name <String>]
[-ScriptBlock <ScriptBlock>]
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-InputObject] <ScheduledJobDefinition>
[-MaxResultCount <Int32>]
[-PassThru]
[-ArgumentList <Object[]>]
[-RunNow]
[-RunEvery <TimeSpan>]
[<CommonParameters>]
Set-ScheduledJob
[-Name <String>]
[-FilePath <String>]
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-InputObject] <ScheduledJobDefinition>
[-MaxResultCount <Int32>]
[-PassThru]
[-ArgumentList <Object[]>]
[-RunNow]
[-RunEvery <TimeSpan>]
[<CommonParameters>]
Set-ScheduledJob
[-InputObject] <ScheduledJobDefinition>
[-ClearExecutionHistory]
[-PassThru]
[<CommonParameters>]
Deskripsi
Set-ScheduledJob
Cmdlet mengubah properti pekerjaan terjadwal, seperti perintah yang dijalankan pekerjaan atau kredensial yang diperlukan untuk menjalankan pekerjaan. Anda juga dapat menggunakannya untuk menghapus riwayat eksekusi pekerjaan terjadwal.
Untuk menggunakan cmdlet ini, mulailah dengan menggunakan Get-ScheduledJob
cmdlet untuk mendapatkan pekerjaan terjadwal. Kemudian, pipa pekerjaan terjadwal ke Set-ScheduledJob
atau simpan pekerjaan dalam variabel dan gunakan parameter InputObject untuk mengidentifikasi pekerjaan. Gunakan parameter Set-ScheduledJob
yang tersisa untuk mengubah properti pekerjaan atau menghapus riwayat eksekusi.
Meskipun Anda dapat menggunakan Set-ScheduledJob
untuk mengubah pemicu dan opsi pekerjaan terjadwal, Add-JobTrigger
cmdlet , , Set-JobTrigger
dan Set-ScheduledJobOption
menyediakan cara yang jauh lebih mudah untuk menyelesaikan tugas tersebut. Untuk membuat pekerjaan terjadwal baru, gunakan Register-ScheduledJob
cmdlet.
Parameter Set-ScheduledJob
Pemicu menambahkan satu atau beberapa pemicu pekerjaan yang memulai pekerjaan.
Parameter Pemicu bersifat opsional, sehingga Anda dapat menambahkan pemicu saat membuat pekerjaan terjadwal, menambahkan pemicu pekerjaan nanti, menambahkan parameter RunNow untuk segera memulai pekerjaan, menggunakan Start-Job
cmdlet untuk segera memulai pekerjaan kapan saja, atau menyimpan pekerjaan terjadwal yang tidak diambil sebagai templat untuk pekerjaan lain.
Set-ScheduledJob
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 skrip yang dijalankan pekerjaan
Contoh ini menunjukkan cara mengubah skrip yang dijalankan dalam pekerjaan terjadwal.
Get-ScheduledJob -Name "Inventory"
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-Inventory.ps1 True
Get-ScheduledJob -Name "Inventory" | Set-ScheduledJob -FilePath "C:\Scripts\Get-FullInventory.ps1" -Passthru
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-FullInventory.ps1 True
Perintah pertama menggunakan Get-ScheduledJob
cmdlet untuk mendapatkan pekerjaan terjadwal Inventori. Output menunjukkan bahwa pekerjaan menjalankan skrip Get-Inventory.ps1.
Perintah kedua menggunakan Get-ScheduledJob
cmdlet untuk mendapatkan pekerjaan terjadwal Inventori. Operator alur (|
) mengirimkan pekerjaan terjadwal ke Set-ScheduledJob
cmdlet. Set-ScheduledJob
Cmdlet menggunakan parameter Skrip untuk menentukan skrip baru, Get-FullInventory.ps1
. Perintah menggunakan parameter Passthru untuk mengembalikan pekerjaan terjadwal setelah perubahan.
Perintah ini tidak diperlukan; hanya disertakan untuk menunjukkan efek perubahan skrip.
Contoh 2: Menghapus riwayat eksekusi pekerjaan terjadwal
Contoh ini menghapus riwayat eksekusi saat ini dan hasil pekerjaan yang disimpan untuk pekerjaan terjadwal.
Get-ScheduledJob BackupArchive | Set-ScheduledJob -ClearExecutionHistory
Perintah menggunakan Get-ScheduledJob
cmdlet untuk mendapatkan pekerjaan terjadwal BackupArchive. Operator alur (|
) mengirim pekerjaan ke Set-ScheduledJob
cmdlet untuk mengubahnya. Set-ScheduledJob
Cmdlet menggunakan parameter ClearExecutionHistory untuk menghapus riwayat eksekusi dan hasil yang disimpan.
Untuk informasi selengkapnya tentang riwayat eksekusi dan hasil pekerjaan terjadwal yang disimpan dari pekerjaan terjadwal, lihat about_Scheduled_Jobs.
Contoh 3: Mengubah pekerjaan terjadwal di komputer jarak jauh
Perintah ini mengubah skrip inisialisasi di semua pekerjaan terjadwal pada komputer jarak jauh.
Invoke-Command -Computer "Server01, Server02" -ScriptBlock {Get-ScheduledJob |
Set-ScheduledJob -InitializationScript \\SrvA\Scripts\SetForRun.ps1}
Perintah menggunakan Invoke-Command
cmdlet untuk menjalankan perintah pada komputer Server01 dan Server02.
Perintah jarak jauh dimulai dengan Get-ScheduledJob
perintah yang mendapatkan semua pekerjaan terjadwal di komputer. Pekerjaan terjadwal disalurkan ke Set-ScheduledJob
cmdlet, yang mengubah skrip inisialisasi menjadi SetForRun.ps1
.
Parameter
-ArgumentList
Menentukan nilai untuk parameter skrip yang ditentukan oleh parameter FilePath atau untuk perintah yang ditentukan oleh parameter ScriptBlock .
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Authentication
Menentukan mekanisme yang digunakan untuk mengautentikasi kredensial pengguna. Nilai yang dapat diterima untuk parameter ini adalah:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Nilai defaultnya adalah Default
. Untuk informasi selengkapnya tentang nilai parameter ini, lihat AuthenticationMechanism Enumeration di PowerShell SDK.
Perhatian
Autentikasi Penyedia Dukungan Keamanan Kredensial (CredSSP), di mana kredensial pengguna diteruskan ke komputer jarak jauh untuk diautentikasi, dirancang untuk perintah yang memerlukan autentikasi pada lebih dari satu sumber daya, seperti mengakses berbagi jaringan jarak jauh. Mekanisme ini meningkatkan risiko keamanan operasi jarak jauh. Jika komputer jarak jauh disusupi, kredensial yang diteruskan ke komputer jarak jauh dapat digunakan untuk mengontrol sesi jaringan.
Type: | AuthenticationMechanism |
Accepted values: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ClearExecutionHistory
Menghapus riwayat eksekusi saat ini dan hasil tersimpan dari pekerjaan terjadwal.
Riwayat eksekusi pekerjaan dan hasil pekerjaan disimpan dengan pekerjaan terjadwal di $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs
direktori di komputer tempat pekerjaan dibuat. Untuk melihat riwayat eksekusi, gunakan Get-Job
cmdlet . Untuk mendapatkan hasil pekerjaan, gunakan Receive-Job
cmdlet .
Parameter ini tidak memengaruhi kejadian yang ditulis Task Scheduler ke log peristiwa Windows dan tidak menghentikan Windows PowerShell menyimpan hasil pekerjaan. Untuk mengelola jumlah hasil pekerjaan yang disimpan, gunakan parameter MaxResultCount .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Menentukan akun pengguna yang memiliki izin untuk menjalankan pekerjaan terjadwal. Defaultnya adalah pengguna saat ini.
Ketik nama pengguna, seperti User01 atau Domain01\User01, atau masukkan objek PSCredential , seperti dari Get-Credential
cmdlet. Jika Anda hanya memasukkan nama pengguna, Anda akan dimintai kata sandi.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
Menentukan skrip yang dijalankan pekerjaan terjadwal. Masukkan jalur ke file .ps1 di komputer lokal. Untuk menentukan nilai default untuk parameter skrip, gunakan parameter ArgumentList . Setiap pekerjaan terjadwal harus memiliki nilai ScriptBlock atau FilePath .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InitializationScript
Menentukan jalur yang sepenuhnya memenuhi syarat ke skrip Windows PowerShell (.ps1
). Skrip inisialisasi berjalan dalam sesi yang dibuat untuk pekerjaan latar belakang sebelum perintah yang ditentukan oleh parameter ScriptBlock atau skrip yang ditentukan oleh parameter FilePath . Anda dapat menggunakan skrip inisialisasi untuk mengonfigurasi sesi, seperti menambahkan file, fungsi, atau alias, membuat direktori, atau memeriksa prasyarat.
Untuk menentukan skrip yang menjalankan perintah pekerjaan utama, gunakan parameter FilePath .
Jika skrip inisialisasi menghasilkan kesalahan, termasuk kesalahan yang tidak mengakhiri, instans pekerjaan terjadwal saat ini tidak berjalan dan statusnya Gagal.
Type: | ScriptBlock |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Menentukan tugas terjadwal yang akan diubah. Masukkan variabel yang berisi objek ScheduledJobDefinition atau ketik perintah atau ekspresi yang mendapatkan objek ScheduledJobDefinition , seperti Get-ScheduledJob
perintah. Anda juga dapat menyalurkan objek ScheduledJobDefinition ke Set-ScheduledJob
.
Jika Anda menentukan beberapa pekerjaan terjadwal, Set-ScheduledJob
buat perubahan yang sama pada semua pekerjaan.
Type: | ScheduledJobDefinition |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaxResultCount
Menentukan berapa banyak entri hasil pekerjaan yang dipertahankan untuk pekerjaan terjadwal. Nilai defaultnya adalah 32.
Windows PowerShell menyimpan riwayat eksekusi dan hasil setiap instans yang dipicu dari pekerjaan terjadwal pada disk. Nilai parameter ini menentukan jumlah hasil instans pekerjaan yang disimpan untuk pekerjaan terjadwal ini. Ketika jumlah hasil instans pekerjaan melebihi nilai ini, Windows PowerShell menghapus hasil instans pekerjaan terlama untuk memberikan ruang bagi hasil instans pekerjaan terbaru.
Riwayat eksekusi pekerjaan dan hasil pekerjaan disimpan di $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs\<JobName>\Output\<Timestamp>
direktori pada komputer tempat pekerjaan dibuat. Untuk melihat riwayat eksekusi, gunakan Get-Job
cmdlet . Untuk mendapatkan hasil pekerjaan, gunakan Receive-Job
cmdlet .
Parameter MaxResultCount menetapkan nilai properti ExecutionHistoryLength dari pekerjaan terjadwal.
Untuk menghapus riwayat eksekusi dan hasil pekerjaan saat ini, gunakan parameter ClearExecutionHistory .
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Menentukan nama baru untuk pekerjaan terjadwal dan instans pekerjaan terjadwal. Nama harus unik pada komputer lokal.
Untuk mengidentifikasi pekerjaan terjadwal yang akan diubah, gunakan parameter InputObject atau pipa pekerjaan terjadwal dari Get-ScheduledJob
ke Set-ScheduledJob
.
Parameter ini tidak mengubah nama instans pekerjaan pada disk. Ini hanya memengaruhi instans pekerjaan yang dimulai setelah perintah ini selesai.
Type: | String |
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 |
-RunAs32
Menjalankan pekerjaan terjadwal dalam proses 32-bit.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunEvery
Digunakan untuk menentukan seberapa sering menjalankan pekerjaan. Misalnya, gunakan opsi ini untuk menjalankan pekerjaan setiap 15 menit.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunNow
Segera memulai pekerjaan, segera setelah Set-ScheduledJob
cmdlet dijalankan. Parameter ini menghilangkan kebutuhan untuk memicu Task Scheduler untuk menjalankan skrip Windows PowerShell segera setelah pendaftaran, dan tidak mengharuskan pengguna untuk membuat pemicu yang menentukan tanggal dan waktu mulai.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScheduledJobOption
Mengatur opsi untuk pekerjaan terjadwal. Masukkan objek ScheduledJobOptions, seperti objek yang Anda buat dengan menggunakan New-ScheduledJobOption
cmdlet, atau nilai tabel hash.
Anda dapat mengatur opsi untuk pekerjaan terjadwal saat mendaftarkan pekerjaan terjadwal atau menggunakan Set-ScheduledJobOption
cmdlet atau Set-ScheduledJob
untuk mengatur atau mengubah opsi.
Banyak opsi dan nilai defaultnya menentukan apakah dan kapan pekerjaan terjadwal berjalan. Pastikan untuk meninjau opsi ini sebelum menjadwalkan pekerjaan. Untuk deskripsi opsi pekerjaan terjadwal, termasuk nilai default, lihat New-ScheduledJobOption
.
Untuk mengirimkan tabel hash, gunakan kunci berikut. Dalam tabel hash berikut, kunci diperlihatkan dengan nilai defaultnya.
@{# Power SettingsStartIfOnBattery=$False;StopIfGoingOnBattery=$True; WakeToRun=$False; # Idle SettingsStartIfNotIdle=$False; IdleDuration="00:10:00"; IdleTimeout="01:00:00"; StopIfGoingOffIdle=$True; RestartOnIdleResume=$False;# Security settingsShowInTaskScheduler=$TrueRunElevated=$False;# MiscRunWithoutNetwork=$False;DoNotAllowDemandStart=$False;MultipleInstancePolicy=IgnoreNew# Can be IgnoreNew, Parallel, Queue, StopExisting}
Type: | ScheduledJobOptions |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptBlock
Menentukan perintah yang dijalankan pekerjaan terjadwal. Sertakan perintah dalam kurung kurawal ({}
) untuk membuat blok skrip. Untuk menentukan nilai default untuk parameter perintah, gunakan parameter ArgumentList .
Setiap Register-ScheduledJob
perintah harus menggunakan parameter ScriptBlock atau FilePath .
Type: | ScriptBlock |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Trigger
Menentukan pemicu untuk pekerjaan terjadwal. Masukkan satu atau beberapa objek ScheduledJobTrigger , seperti objek yang New-JobTrigger
dikembalikan cmdlet, atau tabel hash kunci dan nilai pemicu pekerjaan.
Pemicu pekerjaan memulai pekerjaan terjadwal secara otomatis pada satu kali atau berulang terjadwal atau saat peristiwa terjadi.
Pemicu pekerjaan bersifat opsional. Anda dapat menambahkan pemicu saat membuat pekerjaan terjadwal, menggunakan Add-JobTrigger
cmdlet atau Set-ScheduledJob
untuk menambahkan pemicu nanti, atau menggunakan Start-Job
cmdlet untuk segera memulai pekerjaan terjadwal. Anda juga dapat membuat dan memelihara pekerjaan terjadwal yang tidak memiliki pemicu pekerjaan.
Untuk mengirimkan tabel hash, gunakan kunci berikut.
@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am"
(atau string waktu yang valid); DaysOfWeek="Monday", "Wednesday"
(atau kombinasi nama hari); Interval=2
(atau interval frekuensi yang valid); RandomDelay="30minutes"
(atau string rentang waktu yang valid); User="Domain1\User01"
(atau pengguna yang valid; hanya digunakan dengan nilai frekuensi AtLogon)
}
Type: | ScheduledJobTrigger[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Anda dapat menyalurkan pekerjaan terjadwal ke cmdlet ini.
Output
None
Secara default, cmdlet ini tidak mengembalikan output.
Saat Anda menggunakan parameter PassThru , cmdlet ini mengembalikan pekerjaan terjadwal yang diubahnya.
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk