Azure Devops(VSTS)-在控制台中以管理员身份(交互式模式)启动生成代理

时间:2019-01-11 10:13:05

标签: cmd azure-devops build-agent interactive-mode

有什么方法可以设置VSTS构建代理以交互方式(以管理员身份)在Windows启动时运行?

现在,我处于安装和配置代理以交互模式运行的阶段。因此它正在控制台中运行。在Windows启动中,有一个条目:

  

c:\ Windows \ System32 \ cmd.exe / D / S / C启动“具有自动登录功能的代理”“ C:\ agent \ run.cmd” --startuptype自动启动

因此,它无需进行任何其他更改即可在Windows启动时启动,并在控制台中启动。但是我需要它以管理员模式运行,所以我点击了以下链接:

  

https://superuser.com/a/1274970

基本上,这个命令使我可以设置另一个cmd.exe,该cmd.exe指向原始cmd.exe(重命名),并且我能够将其标记为在管理模式下运行。不幸的是,进行此更改后,该代理根本无法从Windows启动。

是否可以调试它或查看日志(无法启动的应用程序)?

足够有趣的是,当我双击cmd.exe时,它总是以admin模式启动...因此,计算机上存在一些阻止程序,可以阻止Windows启动时执行启动命令。

我已将代理程序设置为使用帐户,该帐户位于计算机的Administrators组中。我以为它将使用修改后的cmd(设置为始终以提升的特权开始)以管理员身份自动启动-事实并非如此。

任何帮助都将不胜感激。

谢谢, 克里斯

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并通过任务计划程序中的条目解决了该问题。将该任务设置为以最高特权运行,并在系统启动时触发

scheduled_task

结合UAC设置为“ <永>不通知”,上面显示的任务以管理员身份运行,并且不会触发用户对自动高程的交互。请注意,由于任务在后台运行,因此CMD窗口不可见。

答案 1 :(得分:0)

捷径:

  1. 创建一个包含内容的 runAgent.cmd 文件:
<块引用>

调用 "C:\agent\run.cmd" --startuptype 自动启动

  1. 创建runAgent.cmd的快捷方式runAgent.lnk
  2. 对于 runAgent.lnk 打开属性并启用:快捷方式 > 高级... > 以管理员身份运行
  3. Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunVSTSAgent的注册表键值修改为
<块引用>

C:\WINDOWS\system32\cmd.exe /D /S /C 启动“Agent with AutoLogon” "C:\agent\runAgent.lnk"

Link Property