Skip to content

Instantly share code, notes, and snippets.

@bronaghs
Last active August 17, 2017 16:51
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bronaghs/629a72e7cbbc2d60d3de to your computer and use it in GitHub Desktop.
Save bronaghs/629a72e7cbbc2d60d3de to your computer and use it in GitHub Desktop.
ManageIQ SCOM Event Integration
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.Configuration")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.ConnectorFramework")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.Monitoring")
$mg = Get-SCOMManagementGroup -ComputerName "SCOMGR.manageiq.com"
$framework = $mg.ConnectorFramework
$connectorinfo = New-Object Microsoft.EnterpriseManagement.ConnectorFramework.ConnectorInfo
$connectorinfo.Description = "CF SCOM Connector"
$connectorinfo.DisplayName = "CF SCOM Connector"
$connectorinfo.Name = "CF SCOM"
$conguid = [System.Guid]::NewGuid().Guid
$connector = $framework.Setup($connectorinfo, $conguid)
$connector.Initialize()
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.Configuration")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.ConnectorFramework")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.Monitoring")
import-module operationsmanager
$connector = Get-SCOMConnector -Name "CF SCOM" -ComputerName SCOMGR
while ($true)
{
$alerts = $connector.GetMonitoringAlerts(50)
$alerts
if ($alerts.Count >0)
{
$connector.AcknowledgeMonitoringAlerts($alerts)
}
start-sleep -s 5
}
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.Configuration")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.ConnectorFramework")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.Monitoring")
$connector = Get-SCOMConnector -Name "CF SCOM" -ComputerName SCOMGR
$connector.Id
$config = New-Object Microsoft.EnterpriseManagement.Administration.AlertChangedSubscriptionConfiguration([Microsoft.EnterpriseManagement.Administration.AlertSubscriptionConfigurationType]::Any)
$config.ExpirationStartTime = Get-Date
$config.PollingIntervalMinutes = 1
$config.Criteria = "<SimpleExpression><ValueExpression><Property>ResolutionState</Property></ValueExpression><Operator>Equal</Operator><ValueExpression><Value>0</Value></ValueExpression></SimpleExpression>"
$sub = New-Object Microsoft.EnterpriseManagement.ConnectorFramework.MonitoringConnectorSubscription("CFSubscription", $connector.Id, $config)
$sub.DisplayName = "CloudForm subscription"
$sub.Description = "A connector subscription to SCOM events"
$mg = Get-SCOMManagementGroup -ComputerName "SCOMGR.manageiq.com"
$framework = $mg.ConnectorFramework
$framework.InsertConnectorSubscription($sub)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment