Ниже мой скрипт для получения информации. Я получаю OSStatus и время безотказной работы как пустым в выводе. Может кто-нибудь Пожалуйста, помогите мне получить вывод с помощью "Get-VM | Select-Object -ExpandProperty NetworkAdapters" и укажите, какую ошибку я здесь делаю.
$clus = Read-Host 'Enter the Cluster Name'
$Nodes = Get-clusternode -Cluster $clus
foreach($Node in $Nodes)
{
$VMs = Get-VM | Select-Object -ExpandProperty NetworkAdapters | Select VMName, IPAddresses, State
foreach($VM in $VMs)
{
$results = [ordered]@{
'NodeName' = $Node;
'VMName' = $VM.VMName;
'IPaddress' = $VM.IPAddresses[0];
'Status' = $VM.State;
'AdapterStatus' = $VM.Status[0];
'OSStatus' = $VM.OSStatus;
'Uptime' = $VM.Uptime
}
$Output = New-Object -TypeName PSObject -Property $results
Write-Output $Output
}
}
Я также хотел бы знать, можем ли мы иметь выходные данные из отдельных циклов foreach, поместить их в один массив и отформатировать для вывода в конце вывода.
Ниже вывод, который я получаю. Бланк для OSStatus и Uptime.
NodeName : ABC
VMName : System1
IPaddress : 192.168.1.6
Status : Running
AdapterStatus : Degraded
OSStatus :
Uptime :
NodeName : ABC
VMName : System2
IPaddress : 192.168.1.7
Status : Running
AdapterStatus : Degraded
OSStatus :
Uptime :
NodeName : ABC
VMName : System3
IPaddress : 192.168.1.8
Status : Running
AdapterStatus : Degraded
OSStatus :
Uptime :