用于本地文件的 Azure 自定义脚本扩展 CLI/Powershell

标签 azure powershell azure-cli dsc

我正在尝试在虚拟机上使用自定义脚本扩展运行脚本。 我可以通过扩展设置中的 UI 导航上传自定义脚本(在本地驱动器上),但无法通过 CLI/Powershell 执行相同操作

我正在寻找 az vm extension (CLI)/Set-AzVMCustomScriptExtension 命令可以帮助我执行上述操作,即

上传/运行本地磁盘或 Azure Repo 中存在的脚本的自定义脚本扩展

我尝试了各种方法,我能得到的最接近的是 Set-AzVMCustomScriptExtension -FileUri“file:///D:/scripts/TINFAD01.ps1”-ResourceGroupName p1cad-draas-sb-dev-dev -Location eastus -VMname TINFAD01 -Verbose -Name TINFAD01DSC -Run 'TINFAD01.ps1'|更新-AzVM -详细

给出错误:未找到部分路径(我已仔细检查路径并且它确实存在)

最佳答案

根据我的测试,如果要使用自定义脚本扩展运行本地文件系统上的脚本,我们需要将脚本上传到Azure存储。然后我们就可以运行脚本了。更多详情请引用document 。 例如: 1. 将脚本上传到Azure存储。

  • 运行脚本
  • Set-AzVMCustomScriptExtension -ResourceGroupName nrg-win -VMName n-win01 -Location eastus -FileUri "https://nlistorageaccntv1.blob.core.windows.net/scripts/myScript.ps1" -Run 'myScript.ps1' -Name DemoScriptExtension
    

    enter image description here

    此外,如果您只想运行本地脚本而不想将其上传到 Azure 存储,则可以使用 Azure VM Run Command 功能。更多详情请引用document

    例如:

    Connect-AzAccount
    Invoke-AzVMRunCommand -ResourceGroupName '<myResourceGroup>' -Name '<myVMName>' -CommandId 'RunPowerShellScript' -ScriptPath '<pathToScript>' -Parameter @{"arg1" = "var1";"arg2" = "var2"}
    

    关于用于本地文件的 Azure 自定义脚本扩展 CLI/Powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58845816/

    相关文章:

    email - 如何从 Powershell 脚本访问 Outlook 电子邮件正文?

    azure - 使用 azure cli --generate-ssh-keys 自动生成的 SSH key 存储在 Windows 中的哪里

    azure - 如何使用 Azure CLI 列出门户中显示的 secret ?

    azure - 如何在 Azure DevOps 中禁用从 YAML 自动创建环境?

    c# - 在 Redis 缓存对象中执行搜索

    powershell - 无法将dll添加到32位PowerShell

    powershell - 获取内容并显示控制字符,例如`r - 可视化字符串中的控制字符

    azure - 无法更新现有 vnet 中的 Azure 容器镜像,错误 NetworkProfileCannotChange

    web-services - 如何从客户端应用程序针对 Azure Active Directory 进行身份验证?

    azure - 应用服务证书错误: The parameter keyVaultCsmId has an invalid value