SCOM 2007 : SDK SPN Not Registered

 
 
Suite à une installation SCOM 2007 SP1, l’alerte suivante peut apparaître :
 
Event Source : OpsMgr SDK Service
Event ID : 26371
Description : The system Center Operations Manager SDK service failed to register a SPN
 
Explication :
Lorsque le service SDK démarre il essaie de mettre à jour le SPN pour le compte AD utilisé par le service SDK.
Or ce compte ne dispose pas des droits nécessaires pour réaliser cette opération.
 
 
Résolution :
La méthode suggérée par la base de connaissance "enregistrement vi SetSpn.exe" ne fonctionne pas.
 
Il faut ajouter les droits correspondant au compte sdk :
 
  • Exécuter ADSIEdit en tant que administrateur du domaine
  • Se connecter au domaine
  • Afficher les propriétés du compte utilisé pour le service sdk
  • Onglet Sécurité
  • Click sur Avancé
  • Click sur Ajouter
  • Saisir SELF dans la boîte de dialogue puis OK
  • Onglet Propriétés
  • Autoriser les droits "Read servicePrincipalName" et Write servicePrincipalName"
  • Ok sur chaque fenêtres
  • Acquiter l’alerte dans la console SCOM
  • Arrêt / démarrage du service sdk
  • L’alerte ne doit réapparaître.
 
 

SCOM 2007 : Script test ping

 
Script to test ping response time and change state
 
Ce script permet de tester le temps de réponse au ping d’un device, et de modifier l’état : warning si depassement de seuil, erreur si non réponse :
 
Arg 0 = @IP
Arg 1 = Nb Ping
Arg 2 = warning
Arg 3 = Nb Ping pour echec
 
 
 
 
 
 

Option Explicit

 

  

Dim strTargetComputer

Dim strTimeToPing

Dim intSeuilAvertissement

Dim intNbPing

Dim intSeuilPingEchec

Dim intNbPingEchec

Dim intI

Dim intTimeToPing

Dim intMoyenneTempsPing

Dim oArgs

Dim strState

Dim StateDataType

Dim oAPI, oBag

 

  

Set oAPI = CreateObject("MOM.ScriptAPI")

Set oBag = oAPI.CreateTypedPropertyBag(StateDataType)

 

Set oArgs = WScript.Arguments

if oArgs.Count < 4 Then

                        Call oAPI.LogScriptEvent("TestPing.vbs",101,0,"Arg Error.")

                        Wscript.Quit -1

End If

strTargetComputer = oArgs(0)

intNbPing = oArgs(1)

intSeuilAvertissement = Cint(oArgs(2))

intSeuilPingEchec = Cint(oArgs(3))

 

intTimeToPing =0

intMoyenneTempsPing = 0

intNbPingEchec = 0

 

For intI=1 to intNbPing

                        Dim objPing, objStatus

                        Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._

                            ExecQuery("select * from Win32_PingStatus where address = ‘"_

                                & strTargetComputer & "’")

                        For Each objStatus in objPing

                            If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then

                                intNbPingEchec = intNbPingEchec + 1

                            Else

                            intTimeToPing = intTimeToPing + objStatus.ResponseTime

                            End If

                        Next

Next

 

if intNbPingEchec >= intSeuilPingEchec then

    strState = "ERROR"

    Else

    If intNbPing-intNbPingEchec = 0 Then

        strState = "ERROR"

        Else

        intMoyenneTempsPing = intTimeToPing / (intNbPing-intNbPingEchec)

        If intMoyenneTempsPing < intSeuilAvertissement then strState = "OK"

        If intMoyenneTempsPing >= intSeuilAvertissement then strState = "WARNING"

    End if

End if

 

If strState = "OK" then

                        Call oBag.AddValue("State","OK")

                        Call oAPI.Return(oBag) 

End If

 

If strState = "WARNING" then

                        Call oBag.AddValue("State","WARNING")

                        Call oAPI.Return(oBag) 

End If

 

If strState = "ERROR" then

                        Call oBag.AddValue("State","ERROR")

                        Call oAPI.Return(oBag) 

End If

SCOM 2007 : Perf temps de reponse Ping

 
Create Perf for ping reponse time
 
Ce script permet de créer un compteur de performance sur les temps moyens de réponse au ping.
Il prend en argument l’adresse IP de la cible ainsi que le nombre de ping a exécuter
 
Use this script into a rule to create a perf counter for average response time
1rst arg = ip address
2nd = nb ping
 
 
 

Set oAPI = CreateObject("MOM.ScriptAPI")

Set oBag = oAPI.CreatePropertyBag()

 

 

Set oArgs = WScript.Arguments

if oArgs.Count <> 2 Then

                        Call oAPI.LogScriptEvent("TestPing.vbs",101,0,"Nb arguments")

            wscriptQuit -1

End If

 

strTargetComputer = oArgs(0)

intNbPing = oArgs(1)

intTimeToPing =0

intMoyenneTempsPing = 0

intNbPingEchec = 0

 

 

For intI=1 to intNbPing

                        Dim objPing, objStatus

                        Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._

                            ExecQuery("select * from Win32_PingStatus where address = ‘"_

                                & strTargetComputer & "’")

                        For Each objStatus in objPing

                            intTimeToPing = intTimeToPing + objStatus.ResponseTime

                        Next

Next

 

intMoyenneTempsPing = intTimeToPing / intNbPing

 

 

Call oBag.AddValue("PerfValue", IntMoyenneTempsPing)

Call oAPI.Return(oBag)