【问题标题】:How json file execution PowerShell as adminjson文件如何以管理员身份执行PowerShell
【发布时间】:2020-07-08 04:21:19
【问题描述】:

我在为 Azure Devops 制作自定义任务时遇到问题:当task.json 调用 PowerShell 时,我需要以管理员权限运行 PowerShell 脚本

"execution": {
    "PowerShell3": {
        "target": "$(currentDirectory)\\X.ps1",
        "workingDirectory": "$(currentDirectory)"
                   }
              }      

在上面的代码中,如何定义PowerShell可以在管理员权限下运行?

【问题讨论】:

    标签: json powershell azure-pipelines azure-devops-extensions


    【解决方案1】:

    如何定义 PowerShell 可以在管理员权限下运行?

    恐怕没有这样的功能来运行具有管理员权限的PowerShell。

    因为当您执行构建时,所有构建任务都应该在您的构建服务帐户下运行,例如NetworkService。如果您在扩展任务中运行 powershell 脚本。它无法以其他用户身份直接运行脚本。

    此外,扩展任务将安装在不同的 Azure devops 上并由不同的代理执行,我们无法将固定帐户设置为管理员帐户以应用于所有不同的代理。更何况。如果我们可以使用扩展任务来以管理员身份运行powershell,那么我们可以应用它来做很多超出权限的事情,比如修改密码等等。显然这是不安全的。

    希望这会有所帮助。

    【讨论】:

    • 我觉得一定有办法。例如:Task PowerShell,我们可以告诉它以管理员权限运行 PowerShell 文件。
    • @Arm-m,是的,我们可以运行具有管理员权限的 powershell 文件,但这需要我们在 local 代理中运行 powershell 并确保您的构建服务帐户(可以是本地帐户、域帐户或工作组中的本地服务)也获得了管理员权限。stackoverflow.com/questions/38458899/…。但是,在您的情况下,您在扩展程序中调用 powershell 文件,我们如何在其他机器上将我们的构建服务帐户设置为管理员?所以,恐怕没有这样的功能,如果你得到解决方案,你可以在这里分享。
    • @Arm-m,这个问题有什么更新吗?你解决了这个问题吗?如果没有,请告诉我有关此问题的最新信息吗?
    猜你喜欢
    • 2010-11-21
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    相关资源
    最近更新 更多