如何从计算机上的 VM 名称获取 Azure 规模集名称

How to get the Azure scale set name from the VM name on the computer

我正在尝试从计算机名称中获取 Azure VM 规模集的名称。我能够接近,但并不可靠。我发现 this article 提到了 (vmss name)(base 36 instance id) 格式,我发现它相当准确,尽管 VMSS 名称少于 9 个字符,我似乎在我的计算机中添加了随机的额外字符不会出现在 Azure 中的名称。

例如:(在 Azure 门户中)

VMSS 名称 = "win10"

实例 ID = 2

计算机名="win10_2"

因此,我希望机器名称为 "win10000002",但是,每当我远程进入 VM 并查看计算机名称时,它都会显示 "win10bc5n000002",请注意额外的 "bc5n" 添加进去。有谁知道为什么会发生这种情况,或者有一种方法可以可靠地预测它,以便我可以在获取机器上的计算机名称时以编程方式将其删除?我的 VMSS 名称的长度将不一致,因此我无法可靠地拆分字符串以删除 4 个额外的字符。

编辑:以下是门户网站与计算机名称的一些屏幕截图:

正如您所说,您的 Windows 10 VM 名称中有一个未例外的字符串 "bc5n"。但是当我测试时,计算机名称仅由规模集虚拟机名称和带有实例 ID 的六位数字组成。我在此处的 Azure 门户中测试的结果的屏幕截图:

而且我认为您可以自己添加随机的额外字符,但您忘记了。

更新

如果计算机名少于9个字符,结果和你说的完全一样。不过不改的话就是默认设置了。

您可以在 Azure 门户上签入现有的规模集模板。

如果要创建具有确切计算机名称的 Azure 规模集,可以通过模板实现。并使用您输入的名称设置 属性 "computerNamePrefix"。

我测试过,结果如下: