问题描述
我想在 azure devops 发布管道中使用 cmd 任务停止 Topshelf 服务.我所做的是创建以下脚本的 CommandLineTask:
I would like to stop Topshelf service using cmd task in azure devops release pipeline.What I do is create CommandLineTask which following script:
ServiceName.exe 停止
ServiceName.exe stop
作为输出,我看到
v3.1.4 2020-06-05T10:14:20.1312163Z ServiceName 服务只能被管理员阻止
我的问题是是否有办法以管理员身份运行此 CommandLineTask?
My question is if there is a way to run this CommandLineTask as an administrator?
附注.我在服务本身存在的虚拟机上使用代理
PS. I use agent on my virtual machine where the service exist itself
推荐答案
由于您使用的是自托管代理,您可以尝试使用管理员帐户(本地系统管理员)创建和运行代理.
Since you are using the self-hosted agent, you could try to use the administrator account (Local system admin) to create and run the agent.
对于交互模式自托管代理:
For interactive mode self-hosted agent:
您可以使用以下命令创建具有管理员帐户的代理.
You could use the following command to create an agent with admin account.
.\config.cmd --unattended --url https://myaccount.visualstudio.com --auth pat --token myToken --pool default --agent myAgent --runAsAutoLogon --windowsLogonAccount myDomain\adminaccount --windowsLogonPassword Password
对于服务模式自托管代理:
For service mode self-hosted agent:
一方面,您可以使用管理员帐户创建代理(类似于交互模式).
On one hand, you could create an agent with the admin account(similar as interactive mode).
.\config.cmd --unattended --url https://myaccount.visualstudio.com --auth pat --token myToken --pool default --agent myAgent --runAsService --windowsLogonAccount myDomain\adminccount --windowsLogonPassword Password
另一方面,您可以导航到本地系统 -> 服务并找到正在运行的代理服务.
On the other hand, you could navigate to local system -> Service and find the running agent service.
然后您可以将 logon account
更改为管理员帐户.
Then you could change the logon account
as admin account.
这是关于 创建代理.
这篇关于以管理员身份使用 AzureDevOps 命令行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!