Как запустить bat-файл с правами администратора ДО входа пользователя в систему?
Вы не указали вашу версию 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.  Почитать что они такое и чем отличаются
Самый нормальный вариант запустить ВПН клиент в качестве службы.
Другой вполне годный вариант - поставить запуск батника в шедулер на старт компьютера.