Я пытаюсь удаленно установить графический драйвер в безголовой встраиваемой системе 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 дает тот же результат.
И это было с выходом из режима «Выполнить» независимо от того, вошел ли пользователь в систему или нет, и с включенными параметрами «Запуск с наивысшими привилегиями».