我正在尝试使我们项目中的某些过程自动化,包括创建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地址?
答案 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地址。