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

Как я могу импортировать запланированную задачу из командной строки, которая будет выполняться с повышенными разрешениями?

Я пытаюсь удаленно установить графический драйвер в безголовой встраиваемой системе Windows7. У меня есть несколько систем, которые требуют ремонта; Я могу загрузить установочный скрипт и выполнить его как непривилегированный пользователь в этих системах. Однако для установки драйвера требуются повышенные привилегии, поэтому я попытался создать задачу, которая будет запускаться под привилегированной учетной записью:

schtasks /Create /XML GraphicsUpdate.xml /ru <username> /rp <password> /tn GraphicsUpdate

Это отлично работает, когда <RunLevel> установлен на LeastPrivilege но возвращается

ERROR: Access is denied.

при попытке использовать HighestAvailable.

Попытки установить драйвер с помощью LeastPrivilege уровень выполнения приводит к ошибке «Для этой операции требуется интерактивная оконная станция», т.е. диалог UAC; на безголовой системе сложно пройти через UAC.

Есть ли способ разрешить непривилегированному пользователю создать задачу из командной строки, которая будет запускаться как привилегированный пользователь из командной строки с наивысшими доступными привилегиями? Или есть способы лучше установить драйвер без головы?

Обновить

В полевых системах работает сервер, который может быть обновлен пользователем через локальную сеть (прямое соединение Ethernet или проводной коммутатор). Подсети, с которыми я тестирую, точно такие же (например, 172.20.81.0/24).

Я бы создал пакет, который будет содержать драйвер и сценарий установки, но сервер работает под непривилегированной учетной записью. Нам нужно найти решение для повышения привилегий этой учетной записи, чтобы установить драйвер.

Попробуйте PsExec от Sysinternals

https://technet.microsoft.com/en-us/sysinternals/pxexec.aspx

Вероятно, его можно использовать для выполнения именно того, что вы пытаетесь сделать, в частности, для выполнения процесса с правами администратора из ограниченной учетной записи, если у вас есть надлежащие учетные данные.

ОДНАКО, хотя его можно использовать таким образом, я бы рекомендовал использовать его вместо запланированной задачи для удаленного запуска установщика. Таким образом, вам не нужно сохранять пароль в удаленной системе.

Вы также можете использовать его для выполнения одной и той же задачи в нескольких системах, указав текстовый файл на нескольких компьютерах.

Кроме того, на клиентских компьютерах НЕ требуется установка какого-либо специального программного обеспечения. Просто убедитесь, что у вас есть доступ к общей папке $ admin, и все в порядке.

Я собираюсь добавить это в качестве дополнительного ответа, потому что другой может все еще помочь людям в сценарии домена.

Вы не можете сделать это, не имея домена или предварительно настроив UAC, чтобы вы могли это сделать. (например. https://support.microsoft.com/en-us/kb/951016 )

Корпорация Майкрософт из соображений безопасности заблокировала эскалацию за пределами приглашения UAC всеми возможными способами. PSExec не может работать при локальном подключении из-за защиты от обратной петли, а общие административные ресурсы по умолчанию заблокированы удаленно на компьютерах, не относящихся к домену. (На что полагается PSExec)

Все параметры, которые позволят вам делать что-либо в этом типе сценария, потребуют предварительной настройки чего-либо на целевой машине, например удаленного рабочего стола или указанной выше ссылки.

В среде домена PSExec не блокируется из сети, потому что не заблокированы общие административные ресурсы. Но, насколько мне известно, за пределами доменной среды и без каких-либо настроек лично это невозможно.

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

Если это вариант для вас в вашей среде, я обнаружил, что переключение RunTaskAsUser на учетную запись SYSTEM позволило импортировать задачу и, что более важно для меня, выдвинуть через групповую политику.

Импорт из интерфейса командной строки завершается без ошибок, и новая задача отображается в планировщике задач. Отправка через GPO дает тот же результат.

И это было с выходом из режима «Выполнить» независимо от того, вошел ли пользователь в систему или нет, и с включенными параметрами «Запуск с наивысшими привилегиями».