SCOM – Exchange 2010 MP “extest_” User (?)

Have you ever installed the Exchange 2010 management pack? If you follow the management pack guide there will be a section where you can enable the synthetic transaction tests for the Exchange. Those synthetic transactions will perform several tests on your Exchange infrastructure and warn you if there is a problem with your mail flow. In order to perform such tests the requirement is to have specific users with mailboxes created.

How are you going to create those users? Well, you need to run a script called  New-TestCasConnectivityUser.ps1 which will create the necessary objects like user and mailboxes needed. This script is located in the script directory C:\Program Files\Microsoft\Exchange Server\V14\Scripts of your Exchange 2010 server. Please refer to the Exchange management pack guide for more details.

As mentioned before this New-TestCasConnectivityUser.ps1 script creates the users which have a consistent naming schema like extest_221d98856af54. It is a funny looking name but how is this name being constructed? Where does this number come from?

There must be some sort of logic behind. If you think about it – you create a user with a script which is independent of SCOM and your SCOM management pack should know about that user which it will use to run scripts etc.

Let’s have a look at the New-TestCasConnectivityUser.ps1 script. This is just the relevant part out of the script…

###############################################################

  # Create the CAS probing user with UPN.  The user will be searched for by the probing using UPN.  Note that this task must be run on every mailbox server.
  $adSiteGuidLeft13 = $exchangeServer.Site.ObjectGuid.ToString().Replace(“-“,””).Substring(0, 13);
  $UserName = “extest_” + $adSiteGuidLeft13;
  $SamAccountName = “extest_” + $adSiteGuidLeft13;
  $UserPrincipalName =  $SamAccountName + “@” + $exchangeserver.Domain

##########################################################

As you can see the first line $exchangeServer.Site.ObjectGuid.ToString().Replace(“-“,””).Substring(0, 13); gets the “Site.ObjectGuid” property from the Exchange object and converts it into a string. Then it replaces the dashes “-“ from the “Site.ObjectGuid” and cuts out the first 13 characters from the beginning of the string.

On the next step the name is constructed using the prefix “extest_” and the string from the first step. As a last step the UPN is being constructed like extest_221d98856af54@domain.com.

Ok, so far. But what the heck is this “Site.ObjectGuid”? Well, if you go to the Active Directory Sites and Services console like here…

7

If you look then at the properties of the site and choose the Attribute Editor tab you will see something like here…

image

Note here, the attribute objectGUID looks somehow familiar, right? Yes, it is exactly the GUID which the script takes as an input to create the extest_221d98856af54 name.

Ok good to know, but what is this good for? Well, first of all it is good to know that it is NOT a randomly generated number instead there is a logic behind. There might be cases where you need to troubleshoot alerts from the Exchange 2010 MP like this and then you are in good shape if you know how things work…

image

I hope you find this useful and now that you know where and how to look for the necessary information you will be more efficient in troubleshooting.

3 Comments

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