【发布时间】:2021-02-13 09:44:39
【问题描述】:
拥有在运行发布管道时使用的本地代理。我的任务之一是需要停止 Windows 服务的 powershell 脚本,因此它需要管理员权限。该代理在具有管理员权限的帐户下运行,因此我想知道,如何以管理员身份在部署组的代理上运行 powershell 脚本?
您必须以某种方式提升其权限,就像您运行 powershell 命令“以管理员身份运行”一样。
【问题讨论】:
标签: azure-pipelines
拥有在运行发布管道时使用的本地代理。我的任务之一是需要停止 Windows 服务的 powershell 脚本,因此它需要管理员权限。该代理在具有管理员权限的帐户下运行,因此我想知道,如何以管理员身份在部署组的代理上运行 powershell 脚本?
您必须以某种方式提升其权限,就像您运行 powershell 命令“以管理员身份运行”一样。
【问题讨论】:
标签: azure-pipelines
AzureAdmin 非常适合您。通过创建具有 http 请求功能的轻型 .Netcore Worker 服务,我们解决了无法使用提升的 Powershell 命令的问题。只需确保您以管理员权限安装服务,并且您可以从常规 Powershell YML 任务发送 Invoke-RestMethod 命令,它会在 ASP 控制器的另一端触发您的自定义逻辑。我们使用它在重新安装我们的单元测试之前删除 Appx 包。 repo 位于 Here 随意定制它。
【讨论】:
如何以管理员身份在部署组的代理上运行 powershell 脚本?
不支持简单地提升权限以管理员身份运行 PowerShell。
您可以改用名为“目标机器上的 PowerShell”的内置任务,这需要您提供一些机器详细信息和管理员凭据:
机器 IP 地址或 FQDN 以及端口的逗号分隔列表。端口默认基于所选协议。例如:dbserver.fabrikam.com,dbserver_int.fabrikam.com:5986,192.168.12.34:5986
管理员的用户名和密码。
【讨论】: