Azure Windows VM - 如何找出它所在的资源组?

时间:2015-11-15 05:37:48

标签: azure azure-virtual-machine azure-resource-manager

我在Azure Windows VM上运行C#代码。有没有办法让我找出这个VM所属的资源组?

VM已部署Azure资源管理API(新的,非经典的)

4 个答案:

答案 0 :(得分:2)

以下内容将保证能够区分不同资源组中具有相同名称的虚拟机:

从您的C#代码中,找到vmId(涉及在以下链接中运行其中一个命令,或者可能使用Azure SDK:https://azure.microsoft.com/en-us/blog/accessing-and-using-azure-vm-unique-id/)。如果使用Linux VM,请务必考虑不同的字节顺序,否则vmId将不匹配。

拥有vmId后,您可以使用CLI或Powershell(或可能是Azure SDK)列出订阅中的所有VM,然后搜索列表以查找哪台VM具有您从该计算机获得的vmId 。然后,您应该能够从该VM的json的“id”字段中解析出资源组名称(正如Gaurav所提到的,它是一个包含资源组的字符串)。例如,请尝试以下操作:

azure vm list --json -vv

此命令将显示用于发出请求和响应正文的URL。在本机构中,您将找到“vmId”和“id”字段。例如,它发送的请求之一是:

https://management.azure.com/subscriptions/{my-subscription-id}/providers/Microsoft.Compute/virtualMachines?api-version=2015-06-15

并且响应主体是带有相关条目的json。希望这可以帮助! :)

答案 1 :(得分:0)

查找资源组的一种方法是列出Azure订阅中的所有虚拟机。您将使用的URL是:

  

https://management.azure.com/subscriptions/[subscription-id]/providers/Microsoft.Compute/virtualMachines?api-version=2015-06-15

它将以JSON格式返回Azure订阅中所有虚拟机的列表,其中每个项目代表一个虚拟机。您可以先通过name属性进行筛选,以查找匹配的虚拟机。那么对你来说很重要的属性id总是格式为:

  

/订阅/ [订阅-ID] / resourceGroups /的 [资源组名称] /providers/Microsoft.Compute/virtualMachines/ [虚拟机名称]

您可以简单地解析它以获取资源组名称。

答案 2 :(得分:0)

您是如何部署VM的?通过portal.azure.com?通过CLI?电源外壳?在任何这些情况下,通常都需要指定资源组名称。实际上,在门户网站中,如果单击"虚拟机",则应该说资源组:

resource group of VM in portal

答案 3 :(得分:0)

write-host(Get-AzVm -name "hostname").ResourceGroupName