SCOM Notifications Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) Console Error


 

While working with a few different customers over the past weeks I have seen this error come up. While accessing a subscription you get the following popup error.

 

image

So you ask yourself what does that mean? That popup error itself offers little in the way of a clear answer. It does however point you in the right direction. Since we are dealing with the Notifications Library we can figure that the error is coming from something within a subscription or subscriber. After doing some digging I found that these are often caused by the deletion of a rule or monitor that has been subscribed to within one of your subscriptions. If you export the Notifications Internal Library MP and open the XML file with an editor, you can see that the subscriptions MP is just XML like all other MP’s. In the case of the error we see above there is a GUID that is referenced within the XML that no longer exists. To resolve this you will need to find the GDID that is causing the problem and remove it.

To locate and remove the faulting GUID follow the steps below.

 

1. Export the Notifications Internal Library, then make a copy of it for backup purposes.

clip_image001

2. Open the XML File in whatever editor you would like to use. Now do a find for the name of the subscription, in my example I am using “Server Down” . You are looking for an entry like you see below. You will want to copy the “Subscriptiondb8a65fa_53ea_46e1_9a65_ebd45ca1ca69” to your clipboard.

<DisplayString ElementID="Subscriptiondb8a65fa_53ea_46e1_9a65_ebd45ca1ca69">

          <Name>Server Down</Name>

3. Now do a find in the XML file for that Subscription GUID you just copied. This will take you to a chunk of text like you see below.

<Rule ID="Subscriptiondb8a65fa_53ea_46e1_9a65_ebd45ca1ca69" Enabled="true" Target="Notification!Microsoft.SystemCenter.AlertNotificationSubscriptionServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">

        <Category>Notification</Category>

        <DataSources>

          <DataSource ID="DS1" RunAs="SystemCenter!Microsoft.SystemCenter.DatabaseWriteActionAccount" TypeID="SystemCenter!Microsoft.SystemCenter.SubscribedAlertProvider">

            <AlertChangedSubscription Property="Any">

              <Criteria>

                <Expression>

                  <And xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

                    <Expression>

                      <Or>

                        <Expression>

                          <SimpleExpression>

                            <ValueExpression>

                              <Property>ProblemId</Property>

                            </ValueExpression>

                            <Operator>Equal</Operator>

                            <ValueExpression>

                              <Value>b59f78ce-c42a-8995-f099-e705dbb34fd4</Value>

                            </ValueExpression>

                          </SimpleExpression>

                        </Expression>

                        <Expression>

                          <SimpleExpression>

                            <ValueExpression>

                              <Property>ProblemId</Property>

                            </ValueExpression>

                            <Operator>Equal</Operator>

                            <ValueExpression>

                              <Value>b59f78ce-c42a-8995-f099-e705dbb34fd4</Value>

                            </ValueExpression>

                          </SimpleExpression>

                        </Expression>

                      </Or>

                    </Expression>

                    <Expression>

                      <Or>

                        <Expression>

                          <SimpleExpression>

                            <ValueExpression>

                              <Property>ResolutionState</Property>

                            </ValueExpression>

                            <Operator>Equal</Operator>

                            <ValueExpression>

                              <Value>0</Value>

                            </ValueExpression>

                          </SimpleExpression>

                        </Expression>

                        <Expression>

                          <SimpleExpression>

                            <ValueExpression>

                              <Property>ResolutionState</Property>

                            </ValueExpression>

                            <Operator>Equal</Operator>

                            <ValueExpression>

                              <Value>255</Value>

                            </ValueExpression>

                          </SimpleExpression>

                        </Expression>

                      </Or>

                    </Expression>

                  </And>

                </Expression>

              </Criteria>

              <ExpirationStartTime>12/09/2010 18:48:52</ExpirationStartTime>

              <PollingIntervalMinutes>1</PollingIntervalMinutes>

              <UserSid>S-1-5-21-3175464644-3620557901-2431004025-500</UserSid>

              <LanguageCode>ENU</LanguageCode>

              <ExcludeNonNullConnectorIds>false</ExcludeNonNullConnectorIds>

              <RuleId>$MPElement$</RuleId>

              <TargetBaseManagedEntityId>$Target/Id$</TargetBaseManagedEntityId>

              <TimeZone>2C01000000000000C4FFFFFF00000B0000000100020000000000000000000300000002000200000000000000|Eastern Standard Time</TimeZone>

            </AlertChangedSubscription>

          </DataSource>

        </DataSources>

        <ConditionDetection ID="CD1" TypeID="Microsoft.SystemCenter.Notification.Recipients">

          <Recipients>

            <To>

              <DirectoryReference>

                <RecipientId>6d901c6d-2254-406a-a16b-d766a997839a</RecipientId>

              </DirectoryReference>

            </To>

          </Recipients>

        </ConditionDetection>

        <WriteActions>

          <WriteAction ID="WA0" TypeID="Cmd_9f075aec_9d63_43bf_bccf_f9685bcb3dd7" />

        </WriteActions>

      </Rule>

4. Now you will have to validate what RuleID or ProblemID is the cause of the failure. You will need to run a PowerShell command to validate each RuleID and ProblemID. See below for an example. Make sure to replace the RuleID with the GUID listed in the XML block.

                        <Expression>

                          <SimpleExpression>

                            <ValueExpression>

                              <Property>ProblemId</Property>

                            </ValueExpression>

                            <Operator>Equal</Operator>

                            <ValueExpression>

                              <Value>b59f78ce-c42a-8995-f099-e705dbb34fd4</Value>

                            </ValueExpression>

                          </SimpleExpression>

                        </Expression>

a. RuleID validation - get-rule -id your-RuleID | select-object DisplayName

b. ProblemID Validation - get-monitor -id Your-ProblemID | select-object DisplayName

c. When you run this you should see an output with the display name of the Rule or Monitor if that GUID is valid. What you are looking for is a failure, this is indicated b the return similar to what I have listed below.

This is a valid rule or monitor

clip_image002

This is an invalid rule or monitor and the cause of the failure.  The key here is the “parameter was not found.”

clip_image004

5. So now that you located the cause of the failure you can simply remove the section of the XML file. This will remove the broken reference to the rule or monitor. You will need to remove everything between the <Expression> and </Expression> for the bad GUID.

                     <Expression>

                          <SimpleExpression>

                            <ValueExpression>

                              <Property>ProblemId</Property>

                            </ValueExpression>

                            <Operator>Equal</Operator>

                            <ValueExpression>

                              <Value>b59f78ce-c42a-8995-f099-e705dbb34fd3</Value>

                            </ValueExpression>

                          </SimpleExpression>

                        </Expression>

6. Before saving your edited file make sure you have a backup of the origanal file just incase there was an error in your edit. Now that you have your back you can save the edited file as “Microsoft.SystemCenter.Notifications.Internal.xml”.  Now import the modified Microsoft.SystemCenter.Notifications.Internal.xml file into your management group. You can do this like any other management pack. Allow a few moments for the MP to refresh, then access the subscription again. This will have removed the broken reference and allow you gain access to the subscription again.

Comments (6)
  1. Randy_m says:

    Yes while in most cases I have seen and done the same, in this case I did not see the need to do so. You would not harm anything by doing so and I will update the post to reflect that as its best practice.

  2. Anonymous says:

    Hi Randy,

    Can you help me out with this please.

    ProblemId

    Equal

    b59f78ce-c42a-8995-f099-e705dbb34fd3

    So should i just remove the contents between & . Or should i delete it fully including & ?

    Like the below ?

  3. rob1974 says:

    Shouldn't you delete the original mp before you can import it or increase the version number of the xml so it can successfully update?

  4. Neil says:

    This is a fairly painful process, particularly if there are a lot of rules/monitors to go through in a subscription.

    What is the likelihood of MS just fixing this – as in Outlook when a mail rule is incorrect…? How can one formally request it if that's necessary?

    thanks!

  5. Davar Ansari says:

    Thanks for the write-up Randy. Got me started towards the resolution

    In my case, the error pops up when i try to access the criteria of the subscription or if i jump directly to subscribers and try to save the changes.

    I attempted to follow the process you have document above and soon had to agree with Neil, this is a pretty painful process. With the realisation that this is not happening for all the subscriptions but only some:

    # I noted all the subscription throwing the error.

    # Deleted those subscription

    # Recreated the subscription

    Essentially, I have deleted the invalid entries as was suggested here but this approach saved me from the cumbersome process and the time it would have taken for checking every guid for it being a valid rule/monitor.

    Cheers!!

  6. scorpioa says:

    all this GUIDs you can check in SCOM OperationDW  in table Monitors. And you will see that some GUIDs not in table, so you must delete all GUIDs that did not store in this table.

Comments are closed.

Skip to main content