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

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

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

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


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

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

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

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

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

  • Количество 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. Запустите скрипт кнопкой Выполнить сценарий.

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

Облако VMware