Я могу воспроизвести вашу проблему, проблема была вызвана тем, что выходные данные Get-AzVM -status
и Get-AzVM -ResourceGroupName <ResourceGroupName> -Name <Name> -Status
отличаются.
Вывод Get-AzVM -status
не будет иметь свойства disks
, но когда вы получите индивидуальный статус виртуальной машины через Get-AzVM -ResourceGroupName <ResourceGroupName> -Name <Name> -Status
, у него будет свойство, поэтому вы получили ошибку.
Get-AzVM -status
:
Get-AzVM -ResourceGroupName <ResourceGroupName> -Name <Name> -Status
:
Решение:
Чтобы устранить проблему, просто используйте Get-AzVM -ResourceGroupName <ResourceGroupName> -Name <Name> -Status
в своем скрипте.
$VMs = Get-AzVM -status
$vmOutput = $VMs | ForEach-Object {
$VMstatus = Get-AzVM -ResourceGroupName $_.ResourceGroupName -Name $_.Name -Status
[PSCustomObject]@{
"VM Name" = $VMstatus.Name
"Provision Date" = $VMstatus.disks.statuses.time[0].ToString()
}
}