Создание отчетов

С помощью PowerCLI можно создавать и выгружать отчеты о виртуальной инфраструктуре.

Вывод данных в разных форматах

В разделе Запрос объектов все данные выводились на консоль. Рассмотрим, как настроить вывод данных в разных форматах на примере списка VM.

Get-CIVM | Export-Csv "C:\output\vm-list.csv"

Пример отчета

В качестве примера рассмотрим скрипт, который формирует отчет о пользователях организации. В нем отображается список пользователей со следующими параметрами:

  • Имя пользователя.

  • Роль пользователя.

  • Статус пользователя (активирована или деактивирована учетная запись).

  • Количество VM, которые создал пользователь.

  • Квота на количество VM, которые пользователь может создавать.

  • Количество VM, которые включил пользователь.

  • Квота на количество VM, которые пользователь может включить.

  • Количество vApp, для которых пользователь является владельцем.

  • Общий размер медиа-файлов в ГБ, которые пользователь загрузил в каталог организации.

  • Общий размер шаблонов vApp в ГБ, которые пользователь загрузил в каталог организации.

  1. В Windows PowerShell ISE откройте облась сценариев.

  2. Добавьте в область скрипт:

    $users = Get-CIUser
    $report = @()
    
    foreach ($user in $users) {
    
       $row = "" | select UserName, Role, Enabled, StoredVMCount, StoredVMQuota, DeployedVMCount, DeployedVMQuota, vAppCount, MediaSizeGB, TemplatesSizeGB
    
       $row.UserName = $user.Name
    
       $Role =  Get-CIUser -Name $user.Name | Get-CIRole
       $row.Role = $Role
    
       $row.Enabled = $user.Enabled
       $row.StoredVMCount = $user.StoredVMCount
       $row.StoredVMQuota = $user.StoredVMQuota
       $row.DeployedVMCount = $user.DeployedVMCount
       $row.DeployedVMQuota = $user.DeployedVMQuota
    
       $vAppCount = Get-CIUser -Name $user.Name | Get-CIVApp | Measure-Object
       $row.vAppCount = $vAppCount.Count
    
       $MediaSizeGB = Get-CIUser -Name $user.Name | Get-Media | %{$_.StorageUsedGB} | Measure-Object -Sum | Select -ExpandProperty Sum
       $row.MediaSizeGB = $MediaSizeGB
    
       $TemplatesSizeGB = Get-CIUser -Name $user.Name | Get-CIVAppTemplate | %{$_.StorageUsedGB} | Measure-Object -Sum | Select -ExpandProperty Sum
       $row.TemplatesSizeGB = $TemplatesSizeGB
    
       $report += $row
    
    }
    
    $report | Export-Csv "C:\output\user-list.csv"
    
  3. В последней строке скрипта замените C:\output\user-list.csv путь до файла, в котором должен сохраниться отчет.

  4. Запустите скрипт кнопкой Выполнить сценарий.

После выполнения скрипта в указанном файле появится отчет о пользователях.

Масштабная конференция
GoCloud 2024:
облачные грани будущего