icinga-powershell-framework/modules/include/hardware/memory.ps1
2018-11-06 17:14:49 +01:00

59 lines
No EOL
3.1 KiB
PowerShell

param($Config = $null);
#
# Fetch the Memory Hardware informations
#
# Lets load some additional memory informations, besides current performance counters
# It might be useful to get more details about the hardware itself
$MemoryInformations = Get-CimInstance Win32_PhysicalMemory;
$capacity = $MemoryInformations | Measure-Object -Property capacity -Sum;
# Lets load the details from our RAM modules
[hashtable]$PhysicalMemoryData = @{};
$PhysicalMemoryData.Add('Modules', $capacity.Count);
foreach($memory_object in $MemoryInformations) {
$memory_datails = @{};
$memory_datails.Add('caption', $memory_object.Caption);
$memory_datails.Add('desc', $memory_object.Description);
$memory_datails.Add('name', $memory_object.Name);
$memory_datails.Add('install_date', $memory_object.InstallDate);
$memory_datails.Add('status', $memory_object.Status);
$memory_datails.Add('creation_class_name', $memory_object.CreationClassName);
$memory_datails.Add('manufacturer', $memory_object.Manufacturer);
$memory_datails.Add('model', $memory_object.Model);
$memory_datails.Add('other_identifiying_info', $memory_object.OtherIdentifyingInfo);
$memory_datails.Add('part_number', $memory_object.PartNumber);
$memory_datails.Add('powered_on', $memory_object.PoweredOn);
$memory_datails.Add('serial_number', $memory_object.SerialNumber);
$memory_datails.Add('sku', $memory_object.SKU);
$memory_datails.Add('tag', $memory_object.Tag);
$memory_datails.Add('version', $memory_object.Version);
$memory_datails.Add('hot_swappable', $memory_object.HotSwappable);
$memory_datails.Add('removable', $memory_object.Removable);
$memory_datails.Add('replaceable', $memory_object.Replaceable);
$memory_datails.Add('form_factor', $memory_object.FormFactor);
$memory_datails.Add('bank_label', $memory_object.BankLabel);
$memory_datails.Add('capacity', $memory_object.Capacity);
$memory_datails.Add('data_width', $memory_object.DataWidth);
$memory_datails.Add('interleave_position', $memory_object.InterleavePosition);
$memory_datails.Add('memory_type', $memory_object.MemoryType);
$memory_datails.Add('position_in_row', $memory_object.PositionInRow);
$memory_datails.Add('speed', $memory_object.Speed);
$memory_datails.Add('total_width', $memory_object.TotalWidth);
$memory_datails.Add('attributes', $memory_object.Attributes);
$memory_datails.Add('configured_clock_speed', $memory_object.ConfiguredClockSpeed);
$memory_datails.Add('configured_voltage', $memory_object.ConfiguredVoltage);
$memory_datails.Add('device_locator', $memory_object.DeviceLocator);
$memory_datails.Add('interleave_data_depth', $memory_object.InterleaveDataDepth);
$memory_datails.Add('max_voltage', $memory_object.MaxVoltage);
$memory_datails.Add('min_voltage', $memory_object.MinVoltage);
$memory_datails.Add('smbios_memory_type', $memory_object.SMBIOSMemoryType);
$memory_datails.Add('type_detail', $memory_object.TypeDetail);
$memory_datails.Add('ps_computer_name', $memory_object.PSComputerName);
$PhysicalMemoryData.Add($memory_object.Tag, $memory_datails);
}
return $PhysicalMemoryData;