Eliminación de conectores de productos antiguos de Operations Manager
En este artículo se describe cómo quitar un conector de producto antiguo de System Center Operations Manager mediante un script de PowerShell.
Versión original del producto: System Center Operations Manager
Número de KB original: 2626670
Resumen
Quitar un conector de producto antiguo de System Center Operations Manager puede ser necesario si el conector del producto ya no se usa en el entorno. No hay ninguna opción Eliminar en la interfaz de usuario de la consola de administración para conectores de productos, por lo que el script se puede usar para lograr los resultados deseados.
Script de PowerShell
Use el siguiente script de PowerShell para quitar el conector del producto:
Nota:
No se deben quitar conectores internos, además de asegurarse de realizar copias de seguridad tanto de la base de datos operativa como de la base de datos de almacenamiento de datos antes de ejecutarlo. Guarde también los siguientes scripts como DeleteConnector.ps1.
param(
[String] $connectorName,
[String] $mgName="localhost"
)
add-pssnapin Microsoft.EnterpriseManagement.OperationsManager.Client
$installDirPS = (get-itemproperty -path 'hklm:\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Setup' -name InstallDirectory).InstallDirectory
set-location $installDirPS
Microsoft.EnterpriseManagement.OperationsManager.ClientShell.Startup.ps1
$mg = new-object Microsoft.EnterpriseManagement.ManagementGroup $mgName
$admin = $mg.GetConnectorFrameworkAdministration()
##########################################################################################
# Configures a connector with the specified name.
##########################################################################################
function New-Connector([String] $name)
{
$connectorForTest = $null;
foreach($connector in $admin.GetMonitoringConnectors())
{
if($connector.Name -eq ${name})
{
$connectorForTest = Get-Connector -id $connector.id
}
}
if ($connectorForTest -eq $null)
{
$testConnector = New-Object Microsoft.EnterpriseManagement.ConnectorFramework.ConnectorInfo
$testConnector.Name = $name
$testConnector.Description = "${name} Description"
$testConnector.DiscoveryDataIsManaged = $false
$connectorForTest = $admin.Setup($testConnector)
$connectorForTest.Initialize();
}
return $connectorForTest
}
##########################################################################################
# Removes a connector with the specified name.
##########################################################################################
function Remove-Connector([String] $name)
{
$testConnector = $null
foreach($connector in $admin.GetMonitoringConnectors())
{
if($connector.Name -eq ${name})
{
$testConnector = Get-Connector -id $connector.id
}
}
if ($testConnector -ne $null)
{
if($testConnector.Initialized)
{
foreach($alert in $testConnector.GetMonitoringAlerts())
{
$alert.ConnectorId = $null;
$alert.Update("Delete Connector");
}
$testConnector.Uninitialize()
}
$connectorIdForTest = $admin.Cleanup($testConnector)
}
}
##########################################################################################
# Delete a connector's Subscription
##########################################################################################
function Delete-Subscription([String] $name)
{
foreach($testconnector in $admin.GetMonitoringConnectors())
{
if($testconnector.Name -eq $name)
{
$connector = Get-Connector -id $testconnector.id
}
}
$subs = $admin.GetConnectorSubscriptions()
foreach($sub in $subs)
{
if($sub.MonitoringConnectorId -eq $connector.id)
{
$admin.DeleteConnectorSubscription($admin.GetConnectorSubscription($sub.Id))
}
}
}
#New-Connector $connectorName
write-host "Delete-Subscription"
Delete-Subscription $connectorName
write-host "Remove-Connector"
Remove-Connector $connectorName
Más información
Uso: DeleteConnector.ps1 para1 para2
para1: Nombre del conector
para2: Nombre del servidor de administración, Opcional, valor predeterminado: localhost
Si intenta eliminar el conector interno de Operations Manager de la base de datos, generará el siguiente error:
Contenido de la excepción:
Excepción que llama a "Setup" con argumentos "1": "Datos de detección generados por conector no válido:7431E155-3D9E-4724-895E-C03BA951A352".