我们拥有在 Azure 内部创建的虚拟机和使用 Arc 从本地迁移到 Azure 的虚拟机。
在 AzPowershell 中,我需要的信息(计算机名称)位于 OsProfile 属性中。这是我使用的代码片段:
$(Get-AzVM -VMName "Server1").OsProfile.ComputerName
对于在 Azure 中构建的系统,存在“OsProfile”属性,运行此代码片段将返回服务器的主机名。
对于通过 Azure Arc 迁移的系统,OsProfile 属性为空,并且代码片段不返回任何数据。
为什么 Arc 系统的 OsProfile 属性为空?数据存在于 Azure 门户的 GUI 中,但不存在于 Powershell 中。
请注意,“OsProfile.Computername”属性可能与“Name”属性不同。事实上,此代码片段用于追踪此差异。