Operations Manager 2012 some specialty with targeting management servers in write actions

During the upgrade of System Center Operations Manager 2007 R2 to version 2012 I had to check my custom management packs. I have one management pack which sets agent based maintenance mode – I will blog about it in a separated blog. This management pack has a rule which runs on a windows computer to check for an event, then it starts a write action with a PowerShell script on the management server. In 2007 R2 it had to be the root management server. With 2012 we now have the RMS emulator role, so I thought it works like it should be.

Here you can see, what was used:

<WriteAction ID = “WA” TypeID=”xxx” Target: SC!Microsoft.SystemCenter.RootManagementServer>

Referenced Management Pack:

      <Reference Alias=”SC”>
        <ID>Microsoft.SystemCenter.Library</ID>
        <Version>6.1.7221.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>

The PowerShell script also used SCOM 2007 R2 cmdlets.

The strange reaction in 2012 was, that the write action only ran successfully if the agent was assigned to the server which also was the RMS emulator. So it looked like that: the write action was started on the management server where the agent was assigned to and if that was not the RMS emulator a warning event (“The Root Connector has received bad packets which have been dropped”) was created in the Operations Manager event log and the script execution was cancelled.

How to solve that?

First I got the great tipp from Kevin Holman (Thanks so much!) to use another class. So I changed the target to SC!Microsoft.SystemCenter.ManagementServer.

But that did not solve the problem completely.

The next step was to change the PowerShell script write action to use SCOM 2012 cmdlets (Thanks Thomas Peter from VAS to help me change our script!).

Now it works!

See also Cameron Fullers blog about the RMS Emulator role: http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexID/91085/Default.aspx

Advertisements
Post a comment or leave a trackback: Trackback URL.

Comments

  • Michael  On August 1, 2012 at 1:15 am

    Thanks for your article, it is exactly what we are trying to setup in SCOM2012.

    We have changed the script to use the SCOM2012 cmdlets.

    We have created a rule in a custom management pack, and have set a Response Run Command (WriteAction?)

    But there is no way from the GUI that we can find how to set the the target !?

    Our agents are attempting to run the maintenance mode script! when it clearly needs to be run from a Management server.

    Could you tell me how to change the target with the GUI?

    • opsmgrtipps  On August 1, 2012 at 6:43 am

      Hi Michael,

      you cannot change the target for write actions in the Gui. For those things you always have to change directly in Xml and import your Mp again.

      Natascia

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: