How can I do a bulk update of the passwords used by IBM Sterling Control Center Monitor for monitored servers?

When you add a server to monitor, you specify a user ID and password for IBM® Sterling Control Center Monitor to use to log onto the server.

About this task

Instead of individually changing the password property for each server, you can follow this basic procedure:

Procedure

  1. Copy the xml definitions of all servers whose passwords you want to update from the Installation Directoryconf-exported/yyyymmddhhmmss/conf/services/nodes/ccservers folder to the template folder, and change all .xml extensions to .tmp.
  2. Edit these new template files and insert a password variable by replacing the text between <password> and </password> with &pw;.
  3. Create a script that includes the following three lines for each template supplying your data in the italicized items:
    copy <template filename (without the .tmp extension)> 
    &pw;=<new password value>
    SERVERUPDATE
  4. Type runBatch hostname port userid password scriptname (Microsoft Windows) or runBatch.sh hostname port userid password scriptname (UNIX).

Results

Here is a sample template created from the xml definition for a server named cdw6100x. The server ID is italicized in the sample template. The sample template is named cdw6100x.tmp. The encoded version of the encrypted password was replaced with &pw;.

<server>
	<clusterId>1</clusterId>
	<desc>cdw6100x</desc>
	<name>cdw6100x</name>
	<nodeTypeId>1</nodeTypeId>
	<activeEventProcessorId>CCenter</activeEventProcessorId>
	<assignedEventProcessorId>CCenter</assignedEventProcessorId>
	<displayName>cdw6100x</displayName>
	<heartbeatInterval/>
	<pollingInterval>60</pollingInterval>
	<license/>
	<properties>
		 <service>
                   <apiPort>1563</apiPort> <applyMetadataRules>true</applyMetadataRules> 
                   <certificateExpiry>SYSTEM</certificateExpiry> 
                   <connectionTimeout>30</connectionTimeout> <contact/> <contactEMail/> 
                   <contactName/> <contactPhone/> <desc>cdw6100x</desc> 
                   <hostName>cdwtul</hostName> <id>cdw6100x</id> 
                   <ignoreServerProvidedTZ>false</ignoreServerProvidedTZ>
                   <lastLicensePushResults/> <licenseEnabled>false</licenseEnabled>
                   <licenseExpiryWarning>30</licenseExpiryWarning> 
                   <licenseMgmtSupported>false</licenseMgmtSupported> 
                   <maxCompletedProcs>5</maxCompletedProcs> 
                   <minVersionAge>SYSTEM</minVersionAge> 
                   <notMonitorFileAgents>false</notMonitorFileAgents>
                   <password>&pw;</password> 
                   <pollingRate>60</pollingRate> <protocol>TCPIP</protocol> 
                   <securePlusEnabledStatus>Unknown</securePlusEnabledStatus> 
                   <serverMetaData1/> <serverMetaData10/> <serverMetaData2/> 
                   <serverMetaData3/> <serverMetaData4/> <serverMetaData5/> 
                   <serverMetaData6/> <serverMetaData7/> <serverMetaData8/> 
                   <serverMetaData9/> 
                   <serverTimeZoneId>America/Chicago</serverTimeZoneId> 
                   <serviceClass>com.sterlingcommerce.scc.agent.services.node.cd.CDNodeS
                   ervice</serviceClass> 
                   <serviceId>cdw6100x</serviceId> <serviceType>1</serviceType>  
                   <skipProcessStepInfo>false</skipProcessStepInfo> <sourcePort/> 
                   <synchObjectTime>SYSTEM</synchObjectTime> 
                   <tracingEnabled>false</tracingEnabled> <userId>cduser</userId>  
                   <versionCount>SYSTEM</versionCount> <executingProcs>0</executingProcs> 
                   <nonExecutingProcs>0</nonExecutingProcs> <maxExecutingProcs>0</maxExecutingProcs> 
                   <mepOccurrences>0</mepOccurrences>
		</service>
	</properties>
	<hostName/>
	<port/>
	<secureHostName/>
	<securePort/>
	<location/>
	<fqNodeId/>
	<serverAssignmentPolicy>accepts</serverAssignmentPolicy>
	<serverFailoverPolicy>accepts</serverFailoverPolicy>
	<serverReassignmentPolicy/>
	<faspSupported>no</faspSupported>
	<timezoneId/>
	<usesSNMPTrap>false</usesSNMPTrap>
	<monServerReassignPolicy>accepts</monServerReassignPolicy>
	<serverOS/>
	<serverVersion/>
</server>

Here is a sample script which tells RUNBATCH to copy the cdw6100x template, substitute the new value (newpassword) for the specified password variable, and update the xml definition for the cdw6100x server. Note that the SERVERUPDATE command tells RUNBATCH to only update the information for the server versus create the xml definition from scratch.

copy cdw6100x 
&pw;     = newpassword
SERVERUPDATE

The last step is to run runBatch.bat file from the installation directory/bin folder to run the sample script.