Bagaimana cara menentukan "Jalankan dengan hak istimewa tertinggi" di SchTasks?

21

Ketika saya menggunakan Penjadwal Tugas GUI , saya dapat dengan mudah memeriksa kotak centang " Jalankan dengan hak istimewa tertinggi ".

Saya tidak menemukan opsi seperti itu di baris perintah SchTasks juga.

Apakah ada cara untuk melakukan itu dari baris perintah?

Menang
sumber

Jawaban:

27

Itulah yang dilakukan opsi / RL .

Contoh: SCHTASKS /Create /TN "New Task" /SC HOURLY /TR blah.exe /RU username /RP password /RL HIGHEST

Skatterbrainz
sumber
dapatkah kita menggunakannya untuk setiap versi Windows (dari XP ke 7 atau 8, termasuk Windows Server 2008)?
Rolf
Tidak untuk Windows XP, menurut Microsoft ( microsoft.com/resources/documentation/windows/xp/all/proddocs/… ), juga perhatikan komentar "opsi ini tidak tersedia" untuk (XP dan WinServer 2003) di msdn.microsoft .com / id-us / library / windows / desktop /…
Skatterbrainz
@Rolf memeriksa jawaban saya untuk skrip kecil, yang akan berfungsi pada XP / 2003 dan Vista / 2008 (atau lebih tinggi)
abstrask
5

/RL levelMengatur Level Jalankan untuk pekerjaan itu. Nilai yang valid adalah LIMITEDdan HIGHEST. Standarnya adalah LIMITED.

Andrey
sumber
3

Untuk menambah jawaban @ Skatterbrainz: Jika Anda menjalankan perintah / skrip yang sama pada XP / 2003, dengan menetapkan / RL, SchTasks.exe akan gagal untuk membuat tugas.

Anda dapat membuat skrip yang berfungsi pada XP, 2003, Vista, 2008, 7, 2008R2 dll., Dengan menarik versi OS dari registri. Script batch dapat terlihat seperti ini:

setlocal
atur runlevel =

REM Dapatkan versi OS dari registri
untuk / f "token = 2 *" %% i in ('reg.exe query "HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion" / v "CurrentVersion"') lakukan set os_ver = %% j

REM Atur level run (untuk Vista atau yang lebih baru - versi 6)
jika / i "% os_ver: ~, 1%" GEQ "6" set runlevel = / rl TERTINGGI

REM Jalankan SchTasks.exe
schtasks.exe / create / tn "Nama Tugas" / sc ONSTART / TR "C: \ Scripts \ somescript.cmd" / ru SYSTEM% runlevel%
abstrask
sumber