Вам необходимо добавить переключатель -Expandproperties
в Get-AzureRMResource
, чтобы получить доступ к свойствам, которые содержат необходимые вам данные.Это позволит вам получить доступ к .Properties
, который вернет объект с различными другими свойствами (.dailyRecurrence
дает время выключения).Время выключения выглядит как строковое значение из 4 чисел, причем первые два числа представляют час, а последние два - минуты.Таким образом, 6:30:45 будет 06:30, а 23:45:55 будет 2345.
[array]$ResourceGroupArray = Get-AzureRMVm | Select-Object -Property ResourceGroupName, Name, VmId
foreach ($resourceGroup in $ResourceGroupArray){
$targetResourceId = (Get-AzureRmVM -ResourceGroupName $resourcegroup.ResourceGroupName -Name $resourceGroup.Name).Id
$shutdownInformation = (Get-AzureRmResource -ResourceGroupName $resourcegroup.ResourceGroupName -ResourceType Microsoft.DevTestLab/schedules -Expandproperties).Properties
Write-Host "ID: " $targetResourceId
$shutdownInformation
}
Я удалил ваш | ft
, поскольку, как правило, не рекомендуется отправлять данные через формировательперед сохранением значения.Это изменит ваш объект и, следовательно, изменит свойства.Тогда вы не сможете ссылаться на эти свойства, как ожидается позже.Если вы хотите отображать данные таким образом, вы можете просто добавить их к вашей единственной строке $shutdownInformation
.Другими словами, отправляйте данные через формат таблицы в то время, когда вы хотите вывести.