我的脚本片段如下所示:
# Collection of data
$VMs = Get-AzureRmVM
$vmOutput = $VMs | ForEach-Object {
[PSCustomObject]@{
"VM Name" = $_.Name
"VM Type" = $_.StorageProfile.osDisk.osType
"VM Profile" = $_.HardwareProfile.VmSize
"Environment" = $_.Tags.Environment
"Application" = $_.Tags.Application
"Decommission Date" = $_.Tags.Decomission
"OS Disk Size" = $_.StorageProfile.OsDisk.DiskSizeGB
"Data Disks Total Size" = ($_.StorageProfile.DataDisks.DiskSizeGB | Measure -Sum).Sum
"Data Disks Amount" = ($_.StorageProfile.DataDisks.DiskSizeGB | Measure ).Count
"Powerstate" = $_.Statuses[1].DisplayStatus
}
}
$vmOutput | sort "Environment", "VM Type", "VM Profile", "Application" | export-csv VMReport.csv -delimiter ";" -force -notypeinformation
我想向报告添加电源状态列,但它未包含在 Get-AzureRMVM 属性中。我必须在命令末尾添加 -status 才能显示此数据,但正如我所注意到的,它仅在包含特定资源组名称和虚拟机名称时才有效。
如何更改脚本以将电源状态包含在报告中的最后一列,而不丢弃此脚本并从头开始编写新脚本?
最佳答案
The instance view is the instance level status of the virtual machine. Specify the Status parameter to get only the instance view of a virtual machine.
查看更多详情here 。所以你只需要更改一些命令,如下所示:
$VMs = Get-AzureRmVM -Status
和
"Powerstate" = $_.PowerState
那么一切都会好起来的。希望这会对您有所帮助。
关于azure - 通过 powershell 的 Azure VM 的 Powerstate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54041814/