Вопрос Как указать «Запуск с наивысшими привилегиями» в SchTasks?


Когда я использую графический интерфейс пользователя Task Scheduler, я могу легко проверить "Запуск с наивысшими привилегиями".

Я не нашел такого варианта в SchTasks однако, командная строка.

Есть ли способ сделать это из командной строки?


19
2018-02-09 15:44


происхождения




ответы:


Вот что / RL делает.

Пример: SCHTASKS /Create /TN "New Task" /SC HOURLY /TR blah.exe /RU username /RP password /RL HIGHEST


24
2018-02-09 16:33



мы можем использовать это для каждой версии Windows (от XP до 7 или 8, включая Windows Server 2008)? - Rolf
Не для Windows XP, по словам Microsoft (microsoft.com/resources/documentation/windows/xp/all/proddocs/...), также обратите внимание на комментарии «эта опция недоступна» для (XP и WinServer 2003) на msdn.microsoft.com/en-us/library/windows/desktop/... - Skatterbrainz
@Rolf проверить мой ответ на небольшой скрипт, который будет работать как на XP / 2003, так и на Vista / 2008 (или выше) - abstrask


/RL level Устанавливает уровень выполнения для задания. Допустимые значения: LIMITED а также HIGHEST, По умолчанию используется LIMITED,


5
2018-01-13 13:17





Чтобы добавить к ответу @ Skatterbrainz: если вы запустите ту же команду / скрипт в XP / 2003, указав / RL, SchTasks.exe не сможет создать задачу.

Вы можете создать скрипт, который будет работать на XP, 2003, Vista, 2008, 7, 2008R2 и т. Д., Вытащив версию ОС из реестра. Пакетный сценарий может выглядеть так:

SETLOCAL
set runlevel =

REM Получить версию ОС из реестра
for / f "tokens = 2 *" %% i in ('reg.exe query "HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion" / v "CurrentVersion"') установить os_ver = %% j

REM Установите уровень запуска (для Vista или более поздней версии - версия 6)
если / i "% os_ver: ~, 1%" GEQ "6" set runlevel = / rl HIGHEST

REM Execute SchTasks.exe
schtasks.exe / create / tn «Имя задачи» / sc ONSTART / TR «C: \ Scripts \ somescript.cmd» / ru SYSTEM% runlevel%

3
2017-08-29 08:33