如何获取azure VM的azure VMUUID?

问题描述

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

解决方法

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

IMDS 是一种 REST API,可在众所周知的不可路由 IP 地址 useEffect(() => { if (!userInfo) { history.push('/login') } else { if (!user || !user.nom) { dispatch(getUserDetails('profile')) } else { setNom(user.nom) setEmail(user.email) } } },[dispatch,history,userInfo,user]) 处使用。您只能从 VM 内访问它。 VM 和 IMDS 之间的通信永远不会离开主机。

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

,

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

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

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

enter image description here

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

更新:

下面的简单 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

请告诉我上面是否回答了您的问题。