【问题标题】:How to get the azure VMUUID of azure VM?如何获取 azure VM 的 azure VMUUID?
【发布时间】:2021-03-30 11:59:47
【问题描述】:

我正在为 Azure Log Analytics 工作区创建一个 ARM 模板。它有一些使用 azure VM 的 VMUUID 的查询。是否有任何方法可以在 ARM 模板中获取 azure VM 的 VMUUID 或任何其他方法来获取 azure VMUUID? ARM Template 我只需要获取该订阅中所有 VM 的 VMUUID 的值。

【问题讨论】:

    标签: azure azure-resource-manager azure-template azure-rest-api


    【解决方案1】:

    您还可以通过编程方式从 Azure 实例元数据服务 (IMDS) 获取此信息。它提供有关当前运行的虚拟机实例的信息。您可以使用 IMDS 来管理和配置您的虚拟机。此信息包括 SKU、存储、网络配置和即将发生的维护事件。有关可用数据的完整列表,请参阅Endpoint Categories Summary

    IMDS 是一个 REST API,可在众所周知的、不可路由的 IP 地址169.254.169.254 上使用。您只能从 VM 中访问它。 VM 和 IMDS 之间的通信永远不会离开主机。

    https://docs.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service

    【讨论】:

    • 感谢您的回复,我得到了我的一个问题的答案。但我的问题是关于在 ARM 模板上动态获取 VMUUID 值,如果我单独提供订阅 ID 和名称。
    【解决方案2】:

    试用 Azure 资源浏览器

    您可以在Azure Resource Explorer 中轻松找到它。

    //另外一个参考:What is Azure Resource Explorer?

    只需导航到 Microsoft.Compute => virtualMachines 视图:

    还有另一种方法可以找到它,但对我来说似乎更复杂,因为您需要连接到 VM: https://azure.microsoft.com/en-us/blog/accessing-and-using-azure-vm-unique-id/

    更新:试试 PowerShell

    下面的简单 PowerShell 脚本返回指定订阅中所有 VMUUID 的列表:

    Get-AzSubscription
    Select-AzSubscription -SubscriptionId "Olga's Subscription"
    $GetVM = Get-AzVM
    Foreach ($vm in $GetVM)
    {
        $vmId =""
        $vmId = $vm.vmid
        $vmIdList +=$vmId + "`r`n"
    }
    Write-Output $vmIdList
    

    如果以上回答了您的问题,请告诉我。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    • 2013-08-27
    相关资源
    最近更新 更多