【问题标题】:azure release pipeline task run powershell as admin from on-prem agent?azure 发布管道任务从本地代理以管理员身份运行 powershell?
【发布时间】:2021-02-13 09:44:39
【问题描述】:

拥有在运行发布管道时使用的本地代理。我的任务之一是需要停止 Windows 服务的 powershell 脚本,因此它需要管理员权限。该代理在具有管理员权限的帐户下运行,因此我想知道,如何以管理员身份在部署组的代理上运行 powershell 脚本?

您必须以某种方式提升其权限,就像您运行 powershell 命令“以管理员身份运行”一样。

【问题讨论】:

    标签: azure-pipelines


    【解决方案1】:

    AzureAdmin 非常适合您。通过创建具有 http 请求功能的轻型 .Netcore Worker 服务,我们解决了无法使用提升的 Powershell 命令的问题。只需确保您以管理员权限安装服务,并且您可以从常规 Powershell YML 任务发送 Invoke-RestMethod 命令,它会在 ASP 控制器的另一端触发您的自定义逻辑。我们使用它在重新安装我们的单元测试之前删除 Appx 包。 repo 位于 Here 随意定制它。

    【讨论】:

      【解决方案2】:

      如何以管理员身份在部署组的代理上运行 powershell 脚本?

      不支持简单地提升权限以管理员身份运行 PowerShell。

      您可以改用名为“目标机器上的 PowerShell”的内置任务,这需要您提供一些机器详细信息和管理员凭据:

      1. 机器 IP 地址或 FQDN 以及端口的逗号分隔列表。端口默认基于所选协议。例如:dbserver.fabrikam.com,dbserver_int.fabrikam.com:5986,192.168.12.34:5986

      2. 管理员的用户名和密码。

      【讨论】:

      • 在研究了一下之后,我发现我可以简单地将执行策略提升到本地机器级别的“无限制”。但是,您也可以通过组策略来执行此操作,例如。用于分配给目标机器上代理服务的域用户。
      • @bitshift 感谢您的评论!您能否将您的评论变成答案和mark it?这将使有相同问题的人更容易找到答案。
      猜你喜欢
      • 2016-05-13
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 2016-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多