У меня есть скрипт MSBuild. Для завершения сборки требуется запуск в административном режиме. У меня есть несколько утилит командной строки, которые должны работать в пользовательском режиме (то есть не-администраторы), которые мне нужно вставить как часть сценария. Они запускаются довольно просто, передавая команду и параметры. Единственная проблема в том, что я не могу заставить их работать в неадминистративном режиме. Есть ли способ из командной строки, которая была запущена с правами администратора, вызывать команду и запускаться в контексте обычного пользователя?
Не уверен, что специфика моей проблемы актуальна или достаточно резюме, приведенного выше, но ниже приведена конкретная проблема, которую я пытаюсь решить:
Конкретные приложения, которые я пытаюсь запустить как часть сценария msbuild, для которых требуются повышенные разрешения, - это установщики для веб-сайтов и конечных точек на IIS, чтобы назвать только несколько ... их много.
В частности, есть одно приложение, которое мне не удается запустить с повышенными разрешениями - это скрипт, который сообщает мне, работает ли конкретная виртуальная машина VirtualBox. Мы используем Vagrant для сценария установки виртуальной машины, у меня есть пакетный сценарий, который использует Vagrant Status, чтобы узнать, работает ли машина, но если я запускаю это в режиме повышенных прав, Vagrant borks. Я думаю, что я мог бы обойти это, непосредственно запросив VirtualBox, но я не знаю, будет ли это работать при повышенных разрешениях. Скрипт Vagrant отлично работает, если я запускаю его в консоли без прав доступа.
Результатом всего этого должно быть выполнение примерно на 150 машинах разработчика без какого-либо вмешательства ... поэтому перенастройка машин для того, чтобы они не использовали UAC, или необходимость ввода паролей пользователей для запуска от имени разных пользователей, не возможна.