Когда я использую планировщик задач с графическим интерфейсом , я могу легко установить флажок « Запускать с наивысшими привилегиями ».
Однако я не нашел такой опции и в командной строке SchTasks .
Есть ли способ сделать это из командной строки?
Когда я использую планировщик задач с графическим интерфейсом , я могу легко установить флажок « Запускать с наивысшими привилегиями ».
Однако я не нашел такой опции и в командной строке SchTasks .
Есть ли способ сделать это из командной строки?
Это то, что делает параметр /RL .
Пример: SCHTASKS /Create /TN "New Task" /SC HOURLY /TR blah.exe /RU username /RP password /RL HIGHEST
/RL level
Устанавливает уровень выполнения для задания. Допустимые значения: LIMITED
и HIGHEST
. По умолчанию установлено значение LIMITED
.
Чтобы добавить ответ @ Skatterbrainz: Если вы запустите ту же команду / скрипт в XP / 2003, указав / RL, SchTasks.exe не сможет создать задачу.
Вы можете создать скрипт, который будет работать на XP, 2003, Vista, 2008, 7, 2008R2 и т.д., Вытащив версию ОС из реестра. Пакетный скрипт может выглядеть так:
setlocal set runlevel= REM Get OS version from registry for /f "tokens=2*" %%i in ('reg.exe query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CurrentVersion"') do set os_ver=%%j REM Set run level (for Vista or later - version 6) if /i "%os_ver:~,1%" GEQ "6" set runlevel=/rl HIGHEST REM Execute SchTasks.exe schtasks.exe /create /tn "Task Name" /sc ONSTART /TR "C:\Scripts\somescript.cmd" /ru SYSTEM %runlevel%