以管理员身份使用 AzureDevOps 命令行

mie*_*ooy 3 windows-services topshelf azure-devops

我想在 azure devops 发布管道中使用 cmd 任务停止 Topshelf 服务。我所做的是创建 CommandLineTask ,其脚本如下:

ServiceName.exe 停止

作为输出我看到

v3.1.4 2020-06-05T10:14:20.1312163Z ServiceName 服务只能由管理员停止

我的问题是是否有办法以管理员身份运行此 CommandLineTask?

附言。我在服务本身存在的虚拟机上使用代理

Kev*_*SFT 5

由于您使用的是自托管代理,因此您可以尝试使用管理员帐户(本地系统管理员)来创建和运行代理。

对于交互模式自托管代理:

您可以使用以下命令创建具有管理员帐户的代理。

.\config.cmd --unattended --url https://myaccount.visualstudio.com --auth pat --token myToken --pool default --agent myAgent --runAsAutoLogon --windowsLogonAccount myDomain\adminaccount --windowsLogonPassword Password
Run Code Online (Sandbox Code Playgroud)

对于服务模式自托管代理:

一方面,您可以使用管理员帐户创建代理(类似于交互模式)。

.\config.cmd --unattended --url https://myaccount.visualstudio.com --auth pat --token myToken --pool default --agent myAgent --runAsService --windowsLogonAccount myDomain\adminccount --windowsLogonPassword Password
Run Code Online (Sandbox Code Playgroud)

另一方面,您可以导航到本地系统 -> 服务并找到正在运行的代理服务。

然后您可以更改logon account管理员帐户。

代理人

这是关于创建代理的文档 。