Every time I discuss installing the System Center Operations Manager Agent, the question of whether or not to run setup.exe on the installation DVD always comes up.  But before you deploy a number of agents manually, it’s important to understand how the agent is patched.

Here’s how the update works: a management server is updated, then the management server updates the Operations Manager agents. However, the management server will only update agents that were deployed from the management server.  Agents that were manually deployed have to be updated manually.

Once I tell my students this, they start thinking back on all the manually-installed agents they have in their production environments.  They begin to realize that they need to manually update all of these agents after they patch their management servers.  Luckily, by manipulating the database tables, you can change the settings. 

Now, before I go any further, I should mention that changing the settings by running SQL queries against the database is not supported by Microsoft, even though it’s done quite often. But if I’ve caught your attention, here’s how it’s done:

In the OperationsManager database, you can use this SQL query to see which agents have been manually installed:

Select bme.DisplayName from MT_HealthService mths

INNER JOIN BaseManagedEntity bme on bme.BaseManagedEntityId = mths.BaseManagedEntityId

Where IsManuallyInstalled = 1  


You can then write an UPDATE statement to change all manually installed agents to appear as remotely installed:

UPDATE MT_HealthService

SET IsManuallyInstalled = 0

WHERE IsManuallyInstalled = 1


Another popular method of deploying software is by preloading the software on an operating system image.  This way, you can install the software once, and then have all the software in place and ready to go once you deploy the image on a new system. Remember, this is considered a manual installation, so be sure to run the UPDATE statement after deploying those images.