Monday, June 22, 2009

Following script updates an exchange component's diagnostic level for a server array. It can be usefull when you need to change exchange components' diagnostic level for multiple exchange servers.

'Reads and updates Exchange diagnostic level
'Written by Boran Duzgun

Const HKEY_LOCAL_MACHINE = &H80000002
diaglevel = 7 'Between 0-7

'Enter diagnostic level component
keystrKeyPath = "SYSTEM\CurrentControlSet\Services\MSExchangeTransport\Diagnostics"

'Enter Sub component valueName
strValueName = "6 SMTP Protocol"

ServerList =Array("Servexf01","Servexf02","Servexf03","Servexf04","Servexf05","Servexf06","Servexf07","Servexf08","Servexf09","Servexf10")

For i=0 To 10 Step 1

strComputer = ServerList(i
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ strComputer & "\root\default:StdRegProv")
oReg.GetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
WScript.Echo Sunucu(i) &" \ " & strValueName & "Old Value : " & dwValue
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,diaglevel
oReg.GetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
WScript.Echo Sunucu(i) & " \ " & strValueName & "New Value : " & dwValue

Next