【问题标题】:Running commands in an azure VM from Azure devops从 Azure devops 在 azure VM 中运行命令
【发布时间】:2021-09-27 03:04:00
【问题描述】:

我在 Azure devops 中有以下代码作为任务,任务完成正常,但记事本没有在目标 vm 上运行?它似乎没有任何想法?

script.ps1

启动-进程notepad.exe

az --% vm run-command invoke --command-id RunPowerShellScript --name vmname -g $ rgname --scripts '@script.ps1'

【问题讨论】:

    标签: azure powershell azure-devops


    【解决方案1】:

    将“get-process”添加到您的 script.ps1 中,使其变为

    start-process notepad.exe;get-process
    

    您应该能够在 get-process 输出中看到 notepad.exe。发生这种情况是因为 azure 创建了一个新会话来运行“调用命令”,并且当执行结束时,会话终止。您登录的会话是不同的。

    【讨论】:

    • 我怎样才能让它以特定用户的身份运行?
    • 这不是用户的问题,伙计。 az cli 已使用管理员凭据运行它。 Windows 安全模型阻止您这样做。您可以使用具有相同凭据的相同帐户,但仍会为您提供不同的会话。阅读此答案以获取更多说明serverfault.com/questions/690852/…
    • 但是,您可以跨会话停止进程。因此,如果您打开一个记事本实例并将您的 script.ps1 代码更改为“Stop-Process -Name notepad”,您应该也可以在会话中看到该记事本窗口关闭。
    猜你喜欢
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    相关资源
    最近更新 更多