Назад | Перейти на главную страницу

.cmd в планировщике задач Windows Server 2008 без наивысших прав

Можно ли запустить сценарий CMD в планировщике задач от имени конкретного пользователя без опции отметки «Запускать с наивысшими привилегиями»?

Простой тест:

  1. Создайте D: \ Admin \ Scripts \ TestScripts \ testscript.cmd
  2. Скрипт очень простой: echo success > D:\Admin\Scripts\TestScripts\out.txt
  3. Предоставить пользователю полные разрешения mydoman \ admin (член группы администраторов домена, который входит в группу локальных администраторов, если сервер является членом домена) D: \ Admin \ Scripts \ TestScripts и все подкаталоги и файлы
  4. Создать задачу с действием:
    • команда: D:\Admin\Scripts\TestScripts\testscript.cmd
    • начинать: D:\Admin\Scripts\TestScripts
  5. Сменить пользователя на mydoman \ admin
  6. Выберите "Запускать, если пользователь вошел в систему или нет".
  7. НЕ выбирайте «Запускать с наивысшими привилегиями»
  8. ОК, введите пароль, готово

Запустите задачу вручную, и она завершится с кодом 0x1.

Если я отмечу «Запускать с наивысшими привилегиями», он запустит fune. out.txt файл создан.

Такой же эффект возникает при создании задачи с параметрами:

Вопросы следующие:

  1. Обязательно ли проверять "Запускать с наивысшими привилегиями"?
  2. Может ли сценарий CMD работать без наивысших привилегий?
  3. Есть ли у MS статья с четким объяснением, как и зачем запускать файлы CMD в планировщике задач?

Это и есть UAC. Короче говоря, вам необходимо предоставить доступ на запись в целевой каталог для данного пользователя, БЕЗ зависимости от членства пользователя в группе администраторов.

например: если ACL для текущего каталога:

Administrators:(OI)(CI)(F)
SYSTEM:(OI)(CI)(F)
Authenticated Users:(OI)(CI)(RX)

... вам нужно либо добавить прямую запись ACL, например: имя пользователя: (OI) (CI) (M) или запись ACL для группы, членом которой является пользователь.

Причина в том, что ОАК препятствует членству в Администраторы группа, имеющая какое-либо влияние, без предварительного возвышения. Это сделано намеренно.

Я надеюсь это имеет смысл.

  1. Нет
  2. да

Если ваш (администратор) пользователь, выполняющий задачи, может выполнять ту же операцию в обычной командной строке без повышенных прав, он также должен работать через планировщик задач.

Скорее всего, вашему администратору требуется повышение прав для записи файла в этот каталог. То же самое и с задачей.

«Выполнить с наивысшими привилегиями» просто указывает планировщику задач сначала повысить уровень пользователя перед выполнением команды.

Попробуйте записать файл в каталог, в котором «пользователи» имеют права на запись, он будет работать без «наивысших привилегий».