HPE OneView. Получение частоты памяти сервера.
Возникла задача через HPE OneView получить частоту памяти у серверов, притом у всех. В стандартном отчете такого поля не было, поэтому я воспользовался для этой цели PowerShell.
Для начала необходимо установить в PowerShell модуль HPEOneView соответствующей версии (вкладка Settings в панели управления HPE OneView).
Для версии 5.40: https://www.powershellgallery.com/packages/HPEOneView.540/5.40.2725.2163
Доступные командлеты находим в HPE OneView PowerShell Library
Кроме собственно получения частоты памяти, я использовал PowerShell для получения других данных, например даты окончания гарантии, количество слотов памяти, количество установленных модулей и т.д. Поэтому привожу текст всего скрипта.
$appliances = @('имя OneView 1', 'имя OneView 2') $filePath = "C:\Documents\Report\" $date = Get-Date $fileDate = "_" + $Date.Day + "-" + $Date.Month + "-" + $Date.Year $reportName = @{ serverInventory = "Server_Inventory"; } $exportPath = @{ serverInventory = $filePath + $reportName.serverInventory + $fileDate + ".csv"; } $cred = Get-Credential ForEach ($appliance in $appliances) { Connect-OVMgmt -Hostname $appliance -Credential $cred | Out-Null $Servers = Get-OVServer | Sort-Object ServerName ForEach ($server in $Servers) { $uri = $Server.subResources.MemoryList.uri $MemoryFrequency = ((Send-OVRequest -Uri $uri).data.BoardOperationalFrequency) $uri_1 = $Server.subResources.Memory.uri $Memory = (Send-OVRequest -Uri $uri_1) $MemoryUse = ($Memory.data.CapacityMiB| Where-Object { $_ -ne "0" }).Count $Warranty = $Server | Get-OVRemoteSupportEntitlementStatus $Server | Select-Object -Property @{Name="OVServer"; Expression={$appliance}}, @{Name="Hostname"; Expression={$_.serverName}}, @{Name="Model"; Expression={$_.model}}, @{Name="Location"; Expression={$_.name}}, @{Name="S/N"; Expression={$_.serialNumber}}, @{Name="Warranty"; Expression={($Warranty.OfferEndDate).tostring(“dd.MM.yyyy”)}}, @{Name="CPU Model"; Expression={$_.processorType}}, @{Name="CPU Count"; Expression={$_.processorCount}}, @{Name="CPU Core Total"; Expression={$_.processorCoreCount}}, @{Name="Speed (MHz)"; Expression={$_.processorSpeedMhz}}, @{Name="Memory (GB)"; Expression={$_.memoryMb/1024}}, @{Name="Memory Slots Count"; Expression={$Server.subResources.Memory.count}}, @{Name="Memory Slots Used"; Expression={$MemoryUse}}, @{Name="MemoryFrequency"; Expression={$MemoryFrequency[0]}}, @{Name="OS"; Expression={$_.operatingSystem}} | Export-Csv -NoTypeInformation -Path $exportPath.serverInventory -Append } Disconnect-OVMgmt -Hostname $appliance }