如何使用Powershell和Azure将IP设置为静态

时间:2018-01-11 11:45:48

标签: powershell azure

我有一个Azure Dev测试实验室,我通过Power Shell部署到Azure。我能够部署ARM模板并加入测试域(而不是Azure AD),没有任何问题。我想要做的下一步是将IP设置为静态。我可以想到三种可能的方法。要么预先计算出IP结构,要使用这些设置进行部署。让DHCP分配设置并尝试使用Powershell DSC将它们从Dynamic设置为Static。或者来自DHCP的某种类型的首选租约。这些实验室意味着要站起来并临时拆除。 IP是内部的而不是公共的。我可以事先知道IP。有人可以就最有意义的事情提出建议吗?

1 个答案:

答案 0 :(得分:0)

嗯,有几种方法可以查看它,首先,您可以在部署时定义ip,方法是将其设置为静态,而不是动态:

{
"name": "xxx",
"type": "Microsoft.Network/networkInterfaces",
"apiVersion": "2016-10-01",
"location": "loc",
"properties": {
  "ipConfigurations": [
    {
      "name": "ipconfig1",
      "properties": {
        "privateIPAllocationMethod": "Static",
        "privateIPAddress": "ipgoeshere",
        "subnet": {
          "id": "subnetgoeshere"
        }
      }
    }
  ]
}

但此方法仅在您事先知道可用IP地址且您必须查看并传递给模板时才有效。

另一种方法是将NIC视为动态,获取其IP地址并将其设置为静态。所有这些都可以通过ARM模板完成。这个例子在这里粘贴太多了,你可以检查它here。查找名为"[concat(variables('vmNamePrefix'),'setStaticIp')]""[concat(variables('vmNamePrefix'),copyIndex(1),'-primaryIp')]",及其相应模板的部署:getipsetip

你可以使用powershell做同样的事情,我没有Handy脚本,但逻辑是一样的,部署> getip> SETIP