Afranius
@Afranius
Из говорящих дольше живут те, что говорят меньше.

Как запустить bat-файл с правами администратора ДО входа пользователя в систему?

Компьютер должен быть в домене. Домен расположен удалённо.
Соответственно, прежде чем войти на компьютер, необходимо установить VPN-соединение с доменом.
Скрипт именно это и делает: первая команда устанавливает VPN-соединение, вторая прописывает маршрут.

Пробовал запускать скрипт через планировщик - не запускается.
Через GPO и псевдослужбу тоже не отрабатывает. Может кто что путное посоветует?
  • Вопрос задан
  • 1954 просмотра
Решения вопроса 1
@res2001
Developer, ex-admin
Самый нормальный вариант запустить ВПН клиент в качестве службы.
Другой вполне годный вариант - поставить запуск батника в шедулер на старт компьютера.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@yellowmew
Cloud infrastructure, monitoring engineer. SRE
Вы не указали вашу версию Windows и какое именно VPN решение вы используете.

в Windows 10, но по сообщениям такое же поведение было доступно и в предыдущих версиях Windows, VPN соединение возможно сделать доступным на экране входа.
В случае VPN соединений созданных средствами Windows их надо создавать с флагом "доступны для всех пользователей".
В Windows 10 это возможно только средствами powershell коммандлета add-vpnconnection( или set-vpnconnection если соединение уже создано.). В предыдущих версиях OS такой флаг был доступен в интерфейсе создания VPN соединения.
После создания такого соединения и перезагрузки на экране логина появится значок двойного монитора - это и есть VPN соединение.
Я сейчас протестировал следующую ситуацию:
- ПК введен в домен но находится удаленно и до установки VPN соединения не имеет доступа к домену (по вашему описанию у вас так же)
- Доменный пользователь с урезанными правами, административные права есть у локального пользователя (мне доступны оба набора кредов, в любом случае пользователь с административными правами на ПК понадобится и вам)
- powershell (версии 7.0, если быть более точным. Скорее всего это не важно - справится и имеющийся в системе Posh) запущен под локальным пользователем с правами админа, но на машину залогинен пользователь без прав (доменный). Только при условии запуска под локальным админом доступна возможность создать соединение для всех пользователей. Может быть, можно и просто под админом залогиниться для осуществления этой единичной операции
- Выполнен Posh скрипт создания VPN подключения (содержащий флаг -AllUsersConnection ). Если ни разу не писали скрипты - смотрите примеры
- Перезагрузка
- На экране логина появляется значок двойного монитора при нажатии на который предлагается ввести логин-пароль пользователя для этого VPN

Если вы используете альтернативный клиент для VPN (OpenVPN и т.п) задача подъема такого ВНП лежит уже на самом клиенте - Windows такое не будет обрабатывать

UPD: Я ответил не на вопрос, а предложил решение проблемы которую вы описали в тексте. Дополнительно совсем забыл написать что маршрут в Windows можно прописывать автоматически при поднятии соединения c помощью коммандлета Add-VpnConnectionRoute

UPD2: Ответ на вопрос в заголовке: Для запуска батника с правами администратора используйте TaskScheduler задачу с правами LocalSystem или NetworkSystem. Почитать что они такое и чем отличаются
Ответ написан
Комментировать
Afranius
@Afranius Автор вопроса
Из говорящих дольше живут те, что говорят меньше.
Спасибо всем! Сделал. Работает! Подробности тут:
https://zen.yandex.ru/media/id/5e1db2c98f011100ad2...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы