我正在尝试获取一个数组,其中包括群集中所有虚拟机的主机名。
我得到鸡蛋问题,因为我需要计算机名称:
Invoke-Command -computername -scriptblock{...}
Get-Item
无效,因为Hyper-V正在群集中运行:
(Get-Item "HKLM:\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters").GetValue("HostName")
此时我不确定它是否可行?
答案 0 :(得分:0)
未经考验的想法:
Foreach($VM in $(Get-VM -ComputerName "HV01","HV02" | where state -eq 'Running')) {
$VMId = $VM.Id
Invoke-Command -ComputerName $VM.ComputerName -ScriptBlock {Invoke-Command -VMId $using:VMId -ScriptBlock { hostname }}
}