You are currently browsing the tag archive for the ‘Operations Manager’ tag.

Zachary Mealing has a nice post about Operations Manager dashboards, displaying unique IDs instead of friendly names. His solution, however, did not work in my case.

My setup is a SCOM 2012 SP1, with the latest CU installed. Both the operating system (Windows Server 2012) and Operations Manager itself is installed in English, but the regional settings are set to Hungarian. Due to this, SCOM tries to display user interface elements in Hungarian – and it seems, sometimes it succeeds, sometimes not.

The problem was, apparently, the same as in the case of Zachary: friendly names did not appear on dashboards for Service Level objects. I started my troubleshooting by blindly following his post, and ended up with an unusable management pack, which failed to import after modification (replacing all the occurrences of unique IDs in the management pack XML).

Taking a closer look at the management pack revealed that I have nothing to do with unique IDs. The language pack in my management pack section looked like that:

  <LanguagePacks>
    <LanguagePack ID="ENU" IsDefault="false">
      <DisplayStrings>
        <DisplayString ElementID="SLOActiveDirectory">
          <Name>SLO_ActiveDirectory</Name>
        </DisplayString>
        <DisplayString ElementID="Folder_aab7d23e588444d89011d9ba0517c62b">
          <Name>SLO_ActiveDirectory</Name>
        </DisplayString>
        <DisplayString ElementID="MomUIGeneratedSlae78298c58bab43aca9fce8fa3a265374">
          <Name>Active Directory</Name>
        </DisplayString>
        <DisplayString ElementID="ManagementPackMonitorSLOa12c31affcbe422c9efa9e44a10a6c5b">
          <Name>Active Directory availability</Name>
        </DisplayString>
        <DisplayString ElementID="ManagementPackMonitorSLOeeebe2c3bf0648e2abcf398244e69199">
          <Name>Active Directory configuration</Name>
        </DisplayString>
        <DisplayString ElementID="ManagementPackMonitorSLOf9825f6274d14129a2d1224be2a03b63">
          <Name>Active Directory performance</Name>
        </DisplayString>
      </DisplayStrings>
    </LanguagePack>
    <LanguagePack ID="HUN" IsDefault="false">
      <DisplayStrings>
        <DisplayString ElementID="MomUIGeneratedSlae78298c58bab43aca9fce8fa3a265374">
          <Name>Active Directory</Name>
        </DisplayString>
        <DisplayString ElementID="ManagementPackMonitorSLOa12c31affcbe422c9efa9e44a10a6c5b">
          <Name>Active Directory availability</Name>
        </DisplayString>
      </DisplayStrings>
    </LanguagePack>
  </LanguagePacks>

This is the original content of the LanguagePack section, as Operations Manager created it. Here, two language packs are defined, an English and a Hungarian. The structure is simple:

  • A language pack has some <DisplayString> </DisplayString> tags.
  • The opening DisplayString tag has an ElementID property, which ties the tag to the monitor itself. (The monitor is defined in another part of the management pack, which is not interesting in this case.)
  • The <Name> </Name> tag contains the friendly name, which actually displays on the Operations Manager console.

Replacing the IDs in this case simply breaks the connection between monitors and the language pack elements, rendering the management pack unusable. However, if we look at the Hungarian language pack, we will notice that it is much shorter than the English version, because some elements are simply missing from it. In other words, some service level objects have an English friendly name, but do not have a Hungarian one. When the Operations Manager console tries to display their name, it cannot find anything, and displays the unique IDs.

So I decided to copy over the whole content of the English language pack, placed it to the Hungarian section… and localized the names. The result is like that:

  <LanguagePacks>
    <LanguagePack ID="ENU" IsDefault="false">
      <DisplayStrings>
        <DisplayString ElementID="SLOActiveDirectory">
          <Name>SLO_ActiveDirectory</Name>
        </DisplayString>
        <DisplayString ElementID="Folder_aab7d23e588444d89011d9ba0517c62b">
          <Name>SLO_ActiveDirectory</Name>
        </DisplayString>
        <DisplayString ElementID="MomUIGeneratedSlae78298c58bab43aca9fce8fa3a265374">
          <Name>Active Directory</Name>
        </DisplayString>
        <DisplayString ElementID="ManagementPackMonitorSLOa12c31affcbe422c9efa9e44a10a6c5b">
          <Name>Active Directory availability</Name>
        </DisplayString>
        <DisplayString ElementID="ManagementPackMonitorSLOeeebe2c3bf0648e2abcf398244e69199">
          <Name>Active Directory configuration</Name>
        </DisplayString>
        <DisplayString ElementID="ManagementPackMonitorSLOf9825f6274d14129a2d1224be2a03b63">
          <Name>Active Directory performance</Name>
        </DisplayString>
      </DisplayStrings>
    </LanguagePack>
    <LanguagePack ID="HUN" IsDefault="false">
      <DisplayStrings>
        <DisplayString ElementID="SLOActiveDirectory">
          <Name>SLO_ActiveDirectory</Name>
        </DisplayString>
        <DisplayString ElementID="Folder_aab7d23e588444d89011d9ba0517c62b">
          <Name>SLO_ActiveDirectory</Name>
        </DisplayString>
        <DisplayString ElementID="MomUIGeneratedSlae78298c58bab43aca9fce8fa3a265374">
          <Name>Active Directory</Name>
        </DisplayString>
        <DisplayString ElementID="ManagementPackMonitorSLOa12c31affcbe422c9efa9e44a10a6c5b">
          <Name>Active Directory rendelkezésre állás</Name>
        </DisplayString>
        <DisplayString ElementID="ManagementPackMonitorSLOeeebe2c3bf0648e2abcf398244e69199">
          <Name>Active Directory konfiguráció</Name>
        </DisplayString>
        <DisplayString ElementID="ManagementPackMonitorSLOf9825f6274d14129a2d1224be2a03b63">
          <Name>Active Directory teljesítmény</Name>
        </DisplayString>
      </DisplayStrings>
    </LanguagePack>
  </LanguagePacks>

Finally, I incremented the version number, imported my management pack back, and all the SLOs have friendly and localized names.