如何通过Powershell获取新创建的Azure VM的IP地址

时间:2018-08-29 06:11:15

标签: azure powershell ip-address azure-virtual-machine

我正在尝试使我们项目中的某些过程自动化,包括创建VM,连接到新创建的VM以及远程运行一些命令等步骤。

现在,我以前要做的是手动依次运行此命令。

1。创建一个虚拟机

2。连接到虚拟机。

New-AzureRmResourceGroupDeployment -Name VmDeployment -ResourceGroupName XYZ`
  -TemplateFile "C:\Templates\template.json" `
  -TemplateParameterFile "C:\Templates\parameters.json"

在此IP地址用于在客户端的受信任主机中添加该IP地址。我曾经在Azure Portal上检查生成的IP地址,在命令中替换该IP地址并手动运行它们。但是现在,由于我正在自动化,因此在此过程中将无需人工干预。

那么我应该如何检索新创建的VM的IP地址?

3 个答案:

答案 0 :(得分:4)

与您的问题没有直接关系,但是您是否考虑过使用Terraform来自动创建资源? http://terraform.io

Terraform与ARM非常相似(只是更好),这是创建VM和公共IP导出的示例:

#

答案 1 :(得分:0)

您为什么关心IP地址?只是使用DNS名称?您总是知道一个(因为您在创建vm时定义了它,至少可以做到这一点)。另一种选择是将IP地址作为Arm模板的一部分输出。

或在powershell中查询IP地址:

Get-AzureRmVM -ResourceGroupName ‘HSG-ResourceGroup’ -Name ‘HSG-LinuxVM’ | Get-AzureRmPublicIpAddress

答案 2 :(得分:0)

您可以使用Powershell命令获取VM的所有私有IP。该命令将如下所示:

boolean status = false;

@Override
public void onUpdateAlert(final int event, final String message){
    status = true;    
    // pop up the dialog
}

@Override
public void onDetected(Hand pose){
    if(status) {
            status = false;
            ...          
    }
}

更新

也是用于设置变量的命令,

Get-AzureRmNetworkInterface -ResourceGroupName resourceGroupName | Select-Object {$_.IpConfigurations.PrivateIpAddress}

那么您将只获得IP地址。