【问题标题】:CommandNotFoundException running AZ modules from a Hybrid workerCommandNotFoundException 从混合工作者运行 AZ 模块
【发布时间】:2021-05-06 15:50:31
【问题描述】:

我在我的 Azure 自动化帐户运行手册上配置了一个混合工作人员虚拟机,并且我试图从那里调用一些 Pester 脚本(在混合工作人员 VM 中保存的带有 invoke-pester 命令的 ps1 文件)作为提升的会话(使用 start-进程-runas 调用VM 中的ps1 的动词)。但是当我这样做时,纠缠脚本会给出这个例外。

CommandNotFoundException:找到了“New-AzStorageContext”命令

在模块“Az.Storage”中,但无法加载该模块。为了 更多

信息,运行“Import-Module Az.Storage”。

我在 Invoke pester 命令之前导入 AZ 模块(Az 是最新的 1.6.0,Powershell 和 .net 都是最新版本)。不过,它什么也没做。我尝试在混合工作人员 VM 中编辑 Allusers/AllHosts 配置文件(添加 Import-Module AZ)并运行运行手册。它解决了一次运行的问题,我再次遇到了问题(它删除了我添加的 Import-Module AZ 并在 windowspowershell V1.0 目录中自行重置),原因很奇怪,profile.ps1 自行重置。

预期:自动导入 AZ 模块 实际:不自动导入 AZ 模块

【问题讨论】:

    标签: azure powershell


    【解决方案1】:

    最近一个 VSTS Windows Agent-hybrid Worker 也发生了同样的事情,一些人安装了一个新版本的模块 az.keyvaults 并且失败并出现同样的错误,我在这个路径中找到了有问题的模块:

    C:\Windows\System32\config\systemprofile\Documents\WindowsPowerShell,在我删除 az.keyvaults 模块后再次开始工作。

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题。 Az 模块已安装在 VM 上,但 Hybrid Worker 返回错误 The term 'Connect-AzAccount' is not recognized as the name of a cmdlet, function, script file, or operable program.

      然后我发现了问题。我这样安装了 Az 模块:

      Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force
      

      请参阅 -Scope 参数。 Az 模块仅为我安装。您必须将其更改为 AllUsers,然后您的混合工作器才能工作。

      Install-Module -Name Az -Scope AllUsers -Repository PSGallery -Force
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-30
        相关资源
        最近更新 更多