如何在 Azure DevOps 管道中以管理员权限运行 PowerShell 任务

9

我试图使用Pipeline中的PowerShell任务在DevOps代理服务器上创建RamDisk。脚本可以创建Ramdisk驱动器,但无法格式化和挂载它。会提示需要提升权限的错误。 如何在Azure DevOps管道中以管理员特权运行PowerShell任务?


我的回复有帮助吗?你的问题解决了吗? - Cece Dong - MSFT
有没有更新并找到解决这个问题的方法? - sorosh_sabz
2个回答

1

由于您添加了azure-devops-self-hosted-agent标签,我假设您正在使用自托管的构建代理进行构建。那么您可以尝试更新构建代理以使用管理员帐户运行。

如果您将代理配置为运行为服务,则它会自动启动。您可以从服务快照中查看和控制代理运行状态。运行services.msc并查找代理。如果您需要更改代理的登录帐户,请不要在服务快照中执行此操作。相反,尝试重新配置代理并使用管理员帐户运行它。


4
无效,代理程序使用管理员帐户运行,但它不在提升的终端中运行命令,因此仍会导致访问被拒绝的错误。 - alessandrocb
如何使用提升的终端运行命令?我认为这与服务用户无关,而是关于在没有任何弹出窗口和静默的情况下运行提升的终端。 - sorosh_sabz
我还没有找到一种方法来实现这个,正是@alessandrocb提到的原因。相反,我们将尝试使用RunAs模块以CurrentUser模式安装模块,以便在需要它们的所有帐户中自动安装。这样,您可以使用ADO管道自动化安装。否则,您只能手动安装/升级,这不是我的乐趣所在。 - Brett

1
  1. 我已在自托管代理上创建了具有完整管理员权限的服务帐户
  2. 我已将自托管代理添加到 Azure DevOps 池中,并使用此服务帐户进行配置
  3. 所有任务都在管理员权限下运行

我的建议是使用您的管理帐户配置自托管代理


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接