SSMDataGrid.ps1 (Resource)

Element properties:

TypeResource
File NameDataGrid.SSM.ps1
AccessibilityInternal

Source Code:

<Resource ID="SSMDataGrid.ps1" FileName="DataGrid.SSM.ps1" Accessibility="Internal"/>

File Content: DataGrid.SSM.ps1

$class = Get-SCOMClass -Name Supermicro.Server.SSM

$classInstances = Get-SCOMClassInstance -Class $class
foreach ($classInstance in $classInstances) {
$dataObject = $ScriptContext.CreateFromObject($classInstance, "Id=Id,DisplayName=DisplayName,HealthState=HealthState", $null)
$v='[Supermicro.Server.SSM].IP'
$dataObject["IP"] = $classInstance.$v.value
$v='[Supermicro.Server.SSM].Version'
$dataObject["Version"] = $classInstance.$v.value
$v='[Supermicro.Server.SSM].HostCount'
$dataObject["HostCount"] = $classInstance.$v.value
$v='[Supermicro.Server.SSM].ServiceCount'
$dataObject["ServiceCount"] = $classInstance.$v.value

$v='[Supermicro.Server.SSM].LastCheck'
$Time1 = $classInstance.$v.value
$Time2 = Get-Date
$TimeDiff = New-TimeSpan $Time1 $Time2

$result = ""
if ($TimeDiff.Days -eq 1) {
$result =$result + $TimeDiff.Days+ " day "
} elseif ($TimeDiff.Days -gt 1) {
$result =$result + $TimeDiff.Days+ " days "
} elseif ($TimeDiff.Hours -eq 1) {
$result =$result + $TimeDiff.Hours+ " hour "
} elseif ($TimeDiff.Hours -gt 1) {
$result =$result + $TimeDiff.Hours+ " hours "
}elseif ($TimeDiff.Minutes -eq 1) {
$result =$result + $TimeDiff.Minutes+ " minute "
} elseif ($TimeDiff.Minutes -gt 1) {
$result =$result + $TimeDiff.Minutes+ " minutes "
} elseif ($TimeDiff.Seconds -eq 1) {
$result =$result + $TimeDiff.Seconds+ " second"
} elseif ($TimeDiff.Seconds -gt 1) {
$result =$result + $TimeDiff.Seconds+ " seconds"
} else {
$result =$result + "0 second"
}
$result =$result + " ago"


$dataObject["LastCheck"] = $result

#$v='[Supermicro.Server.SSM].LastCheck'
#$dataObject["LastCheck"] = $classInstance.$v.value

$ScriptContext.ReturnCollection.Add($dataObject)
}