首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Powershell获取Azure Dev Test Lab中虚拟机的内网IP

使用Powershell获取Azure Dev Test Lab中虚拟机的内网IP
EN

Stack Overflow用户
提问于 2017-03-02 17:20:31
回答 3查看 688关注 0票数 0

刚才我开始使用Azure DevTest Lab。我在实验室中使用json模板创建了一个虚拟机。如果可以,我想使用powershell使用虚拟机的公共IP,也可以使用模板返回相同的IP。

这里的挑战是,根据DTL概念,虚拟机是在新的资源组中创建的,而不是您的实验室所在的资源组。我确实可以在门户上看到实验室虚拟机的资源组的名称,但我不知道如何使用powershell来完成此操作。我正在做一个自动化的工作,所以我需要用powershell来做。

请参阅图片。该实验室似乎与绿框中显示的实验室所在的资源组相同。但是,从技术上讲,实验室虚拟机驻留在动态创建的资源组中(RG名称模式= labname + VM名称+一些随机数字),在屏幕截图中以浅黄色显示。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-09 19:40:18

其他解决方案也很有帮助,但并不完整。我是这样做的-我返回模板的默认输出,即vmId。从模板 link引用

现在,我们需要操作此vmId以获取已创建实验室虚拟机的资源组的名称。

代码语言:javascript
复制
$result = New-AzureRmResourceGroupDeployment -ResourceGroupName "aatifdtlrg207912" -TemplateFile "D:\AzureDeploy.json" -TemplateParameterObject $paramValues
$VMId = $result.outputs.Values.value
$VMComputeId = (Get-AzureRmResource -Id $VMId).Properties.ComputeId
$RGNameofVM = $VMComputeId.split("/")
$RGNameofVM = $RGNameofVM[4] 
$IP = (Get-AzureRmNetworkInterface -Name $VMName -ResourceGroupName $RGNameofVM ).IpConfigurations.PrivateIpAddress
票数 1
EN

Stack Overflow用户

发布于 2017-03-02 20:47:14

嗯,通常一个更优雅的解决方案是使用Get-AzureRmResource

代码语言:javascript
复制
$Resource = Get-AzureRmResource -ResourceId "/subscriptions/$sub_GUID/resourcegroups/$RG_devlab_Name/providers/microsoft.devtestlab/labs/$LabName/virtualmachines/$VMName"
$Resource.Properties.computeId -match 'resourceGroups/(.+)/providers'
$RGName = $Matches[1]
$IP = (Get-AzureRmNetworkInterface -Name $VMName-ResourceGroupName $RGName).IpConfigurations.PrivateIpAddress
票数 0
EN

Stack Overflow用户

发布于 2017-04-12 02:57:53

正如我们所知,对于DevTest实验室,powershell没有直接的方法。您可以使用下面的powershell脚本,通过传递虚拟机名称来获取VM的专用IP地址。我们可以通过传递ResourceId来使用Find-AzureRmResourceGet-AzureRmResource

代码语言:javascript
复制
$vmNicdetails = Find-AzureRmResource -ResourceNameContains mytestVM | Where {$_.ResourceType -eq 'Microsoft.Network/networkInterfaces'}
$nicdetails = Get-AzureRmResource -ResourceId $vmNicdetails.ResourceId
$ipconfig = Get-AzureRmResource -ResourceId
$nicdetails.Properties.ipConfigurations.id -ApiVersion '2017-03-01'
$ipconfig.Properties.privateIPAddress
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42551278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档