L’équipe OpsMgr a publié un billet sur un problème pouvant survenir avec System Center 2012 Operations Manager. L’utilisation de la cmdlet Remove-SCOMDisabledClassInstance permet la suppression de toutes les instances de classe où la découverte a été désactivée en utilisant un override. Cette commande était appelé Remove-DisabledMonitoringObject dans SCOM 2007 et avait tendance à tomber en time-out sur les très gros environnements. Microsoft a réécrit la commande en l’optimisant néanmoins ce comportement peut toujours survenir avec SCOM 2012. La time-out est de 30 minutes par défaut et vous recevez le message suivant :
Started. This operation may take a very long time to complete.
Remove-SCOMDisabledClassInstance : The requested operation timed out.
At line:1 char:33
+ Remove-SCOMDisabledClassInstance <<<<
+ CategoryInfo : NotSpecified: (Microsoft.Syste...nstancesCommand:RemoveSCDisabledClassInstancesCommand)
[Remove-SCOMDisabledClassInstance], TimeoutException
+ FullyQualifiedErrorId : ExecutionError,Microsoft.SystemCenter.OperationsManagerV10.Commands.RemoveSCDisabledClas
sInstancesCommand
Le temps d’exécution dépend du nombre de découvertes qui ont un override appliqué sur la propriété Enabled. Vous pouvez le déterminer avec la requête TSQL :
SELECT Distinct [DiscoverySource].[DiscoverySourceId],
[DiscoverySource].[DiscoverySourceType],
[DiscoverySource].[DiscoveryRuleId],
[DiscoverySource].[BoundManagedEntityId]
FROM dbo.DiscoverySource
INNER JOIN dbo.ModuleOverride ON ModuleOverride.ParentId = DiscoverySource.DiscoveryRuleId
AND ModuleOverride.OverrideableParameterId = dbo.fn_MPObjectId(NULL, NULL, N'Enabled')
AND (ParentType = 'Discovery' OR ParentType = 'Rule')
WHERE DiscoverySource.IsDeleted = 0
Globalement, vous pouvez investiguer sur les points suivants :
- La cmdlet doit être lancé par un utilisateur qui est membre du groupe Operations Manager Administrator.
- Les performances de l’instance SQL Server qui héberge la base de données OperationsManager sont très importantes et vous devez les valider.
- Les objets que vous souhaitez supprimer, le sont à chaque exécution. Vous pouvez donc relancer la cmdlet malgré le timeout pour venir à bout de la liste.
Plus d’information sur : http://blogs.technet.com/b/momteam/archive/2013/08/13/support-tip-the-remove-scomdisabledclassinstance-cmdlet-times-out-in-opsmgr-2012.aspx