gpt4 book ai didi

powershell - 使用 powershell 获取 VM 的 vCenter 信息

转载 作者:行者123 更新时间:2023-12-03 00:01:33 28 4
gpt4 key购买 nike

我需要获取虚拟机的 vCenter 信息,或者至少只是 vCenter 名称,

我在网上查看了 vmware 帮助,他们所拥有的只是连接到 vCenter 以获取 VM 信息,这与我想要实现的完全相反。有可能吗?给我机器的 fqdn 和 ipaddress ?

谢谢

最佳答案

vCenter 名称位于每个对象的 Uid 中。对于 VM,您可以尝试以下代码段:

$vm.Uid.Substring($vm.Uid.IndexOf('@')+1).Split(":")[0]

或者:

Get-VM | % {
[PSCustomObject] @{
Name = $_.Name
vCenter = $_.Uid.Substring($_.Uid.IndexOf('@')+1).Split(":")[0]
}
}

因此,这将循环遍历连接的 vCenter 中的每个 VM,获取 VM 名称,然后从 Uid 中提取 vCenter。 Uid 的格式似乎是:

/VIServer=[用户名]@[vCenter]:[端口]/VirtualMachine=[VirtualMachineID]

因此它开始在“@”+ 1 的索引处获取 vCenter 名称,然后在冒号(端口之前的点)上拆分结果字符串并获取结果数组中的第一项。这可以使用正则表达式稍微优雅地完成:

[regex]::Match($vm.Uid,'.*@(.*):').Captures.Groups[1].Value

关于powershell - 使用 powershell 获取 VM 的 vCenter 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26549809/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com