Azure Devops (VSTS) - запуск агента сборки в качестве администратора (интерактивный режим) в консоли

Есть ли способ настроить агент сборки VSTS для запуска при запуске Windows в интерактивном режиме (как администратор)?

Сейчас я на стадии, когда я установил и настроил агент для работы в интерактивном режиме. Так что это работает в консоли. В автозагрузке Windows есть запись:

c: \ Windows \ System32 \ cmd.exe / D / S / C запускает "Агент с автозагрузкой" "C:\agent\run.cmd" --startuptype autostartup

Таким образом, без каких-либо дополнительных изменений он запускается при запуске Windows и запускается в консоли. Однако мне нужно, чтобы он работал в режиме администратора, поэтому я перешел по этой ссылке:

/questions/8558926/nant-kak-strukturirovat-svnexternals-dlya-sozdaniya-bibliotek-klassov-kotoryie-ssyilayutsya-na-storonnie-biblioteki-dll/8558943#8558943

В основном это позволило мне настроить другой cmd.exe, который указывал на оригинальный cmd.exe (переименованный), и я смог пометить его для запуска в режиме администратора. К сожалению, после этого изменения агент не запускается с Windows вообще.

Есть ли способ отладить его или посмотреть логи (приложения, которые не удалось запустить)?

Интересно, что когда я дважды щелкаю по cmd.exe, он всегда запускается в режиме администратора... так что на машине есть какой-то блокировщик, который не позволяет ему выполнить команду запуска при запуске Windows.

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

Любая помощь с благодарностью.

Спасибо Крис

2 ответа

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

В сочетании с UAC, установленным на Никогда не уведомлять, показанная выше задача запускается от имени администратора и не вызывает действий пользователя для автоматического повышения прав. Обратите внимание, что окно CMD не отображается, поскольку задача выполняется в фоновом режиме.

РЕДАКТИРОВАТЬ: Если окно CMD должно запускаться на переднем плане, можно включить Autologon для компьютера с Windows и настроить задачу на Запуск, только когда пользователь вошел в систему.

Быстрое решение:

  1. Создайте файл runAgent.cmd с содержимым:

вызвать "C: \ agent \ run.cmd" --startuptype автозапуск

  1. Создайте ярлык runAgent.lnk для runAgent.cmd
  2. Для runAgent.lnk откройте Свойства и включите: Ярлык> Дополнительно ...> Запуск от имени администратора.
  3. Измените значение раздела реестра VSTSAgent в Computer \ HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run to

C: \ WINDOWS \ system32 \ cmd.exe /D /S /C start "Агент с автоматическим входом" "C: \ agent \ runAgent.lnk"

Другие вопросы по тегам