Home » Microsoft Operations Manager 2005 » Discovery and installation of agenter with ManualMC.txt

Contoso.se

Welcome to contoso.se! My name is Anders Bengtsson and this is my blog about Azure infrastructure and system management. I am a senior engineer in the FastTrack for Azure team, part of Azure Engineering, at Microsoft.  Contoso.se has two main purposes, first as a platform to share information with the community and the second as a notebook for myself.

Everything you read here is my own personal opinion and any code is provided "AS-IS" with no warranties.

Anders Bengtsson

MVP
MVP awarded 2007,2008,2009,2010

My Books
Service Manager Unleashed
Service Manager Unleashed
Orchestrator Unleashed
Orchestrator 2012 Unleashed
OMS
Inside the Microsoft Operations Management Suite

Discovery and installation of agenter with ManualMC.txt

MOM 2005 use the file ManualMC.txt as a alternative to add computers that will be monitored. MOM will install agent on all computers that are in the file, but it can be boring mission to keep that file updated all the time. I have done a script that will quest Active Directory for computers in a OU. The result will then be written to ManualMC.txt. You can also add some machines in the script, so all computers don’t need to be in the same OU.  Setup this script as a schedule task to run sometime every day.

Next time MOM run discovery a agent will be installed on all machines, or they will be placed under pending actions. That depends on your global settings. If you don’t want a machine to have a agent anymore, you can delete the name from ManualMC.txt and MOM will uninstall the agent at next discovery.

Machines in ManualMC.txt will be excluded if there is a exclude rule in the discovery settings.

You will find ManualMC.txt here %SYSTEM ROOT%\Program Files\Microsoft Operations Manager 2005\

This will be a default function in SCOM 2007. Before your start working with the script you will need to change

  • LDAP path
  • Path to the ManualMC.txt file
  • Computer name for computers that always will be included. If you want to add more than two you can add more Computer(X) lines, and also add the first Dom Computer (2) number.

'===========================================
'Machines that always will be included
'===========================================

Dim Computers(2)

Computers(0) = "APP03.DOMAIN.LOCAL"
Computers(1) = "APP02.DOMAIN.LOCAL"
Computers(2) = "APP01.DOMAIN.LOCAL"

'===========================================
'Add machines from list above
'===========================================

Dim i
Dim OutStr

Const ForAppending = 8
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile _
("C:\manualmc.txt ", ForWriting)

For i = 0 to UBound(Computers)
objFile.WriteLine Computers(i)
Next

'===========================================
'Query Active Directory for computer objects
'===========================================

Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"

Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = _
"Select Name, Location from 'LDAP://OU=Fabrikam,DC=europe,DC=fabrikam,DC=net' " _
& "Where objectClass='computer'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst

'===========================================
'Add machines from Active Directory result
'===========================================

Do Until objRecordSet.EOF
objFile.WriteLine objRecordSet.Fields("Name").Value
objRecordSet.MoveNext
Loop

'===========================================
'Close file
'===========================================

objFile.Close