像许多人一样,我们有 Azure VM,我们希望在不使用时销毁这些 VM,这样我们就不必为它们的核心使用付费。所有有问题的虚拟机都在同一个域中,并且 DC/DNS 服务器永远不会被破坏/重新创建,并且具有静态 IP。然而,在成功使用 Export/Remove/Import-AzureVM 的组合后,网络适配器的所有 IP 设置(DNS 是我主要关心的)都消失了,因为每次我使用 Import-重建 VM 时都会创建一个新的网络适配器 -蔚蓝虚拟机。
我最初尝试使用 NETSH 在启动时设置我的 DNS 条目,但这取决于知道适配器的名称并且适配器名称每天都会更改(因为我们要在晚上关闭机器并在早上重新创建它们)。我的下一个不太好的想法是包含一个 VBScript,它在启动时将适配器重命名为相同的名称,这样 NETSH 将始终使用相同的适配器名称来处理。然而,就在那时,我发现所有旧适配器仍然存在,但只是被隐藏且未使用,这使我的计划变得毫无意义。
以下是我尝试使用的测试 NETSH 命令和 VBScript,仅供参考:
'this script was modified from one i got from the Scripting Guys
Const NETWORK_CONNECTIONS = &H31&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(NETWORK_CONNECTIONS)
Set colItems = objFolder.Items
For Each objItem in colItems
'only one adapter is ever returned by this query, but it didn't seem like a bad idea to leave the loop alone just in case
objItem.Name = "testlan"
wscript.echo objItem.Name
Next
NETSH
netsh interface ip add dns name="testlan" 10.0.0.4
我知道我不是唯一一个试图解决这个问题的人,但我一直无法通过大量的谷歌搜索和反复试验找到解决方案。非常感谢!
本