Microsoft.SystemCenter.ApplicationMonitoring.360.Template.Dashboards.ComponentsWidgetScript.ps1 (Resource)

Element properties:

TypeResource
File NameComponentsWidgetScript.ps1
AccessibilityInternal

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)