Microsoft.SystemCenter.ApplicationMonitoring.360.Template.Dashboards.ComponentsWidgetScript.ps1 (Resource)
Element properties:
Source Code:
<Resource ID="Microsoft.SystemCenter.ApplicationMonitoring.360.Template.Dashboards.ComponentsWidgetScript.ps1" FileName="ComponentsWidgetScript.ps1" Accessibility="Internal"/>
File Content: ComponentsWidgetScript.ps1
Param($Target)
$id = New-Object Guid($Target["Id"].ToString())
$templateTypesMO = new-object type[] 1
$templateTypesMO[0] = [Microsoft.EnterpriseManagement.Monitoring.MonitoringObject]
$templateTypesEMO = new-object type[] 1
$templateTypesEMO[0] = [Microsoft.EnterpriseManagement.Common.EnterpriseManagementObject]
$params = new-object object[] 3
$params[0] = [Guid] $id
$params[1] = [Microsoft.EnterpriseManagement.Common.TraversalDepth]::OneLevel
$params[2] = [Microsoft.EnterpriseManagement.Common.ObjectQueryOptions]::Default
$tiers = $ScriptContext.InvokeGenericMethod($ScriptContext.ManagementGroup.EntityObjects, "GetRelatedObjects", $templateTypesMO, $params)
$newList = @()
foreach ($tier in $tiers)
{
$params[0] = [Guid] $tier.Id
$roles = $ScriptContext.InvokeGenericMethod($ScriptContext.ManagementGroup.EntityObjects, "GetRelatedObjects", $templateTypesMO, $params)
foreach ($role in $roles)
{
$instance = $ScriptContext.CreateFromObject($role, "Id=Id,HealthState=HealthState,DisplayName=DisplayName", $null)
$instance["Tier"] = $tier.DisplayName
$instance["CompositeId"] = $tier.Id.ToString() + "-" + $instance["Id"]
$newList += $instance
}
}
$ScriptContext.ReturnCollection.UpdateCollection($newList)