Matching the GUID from AD with MPS Databases - Updated
UPDATED - June 28th
- The XML procedure has been updated for HMC 4.5
We all know how the PlanManager database and the ResourceManager database are used to keep track of plans and the relationship between MPS and the Active Directory. We know that each object in the Active Directory has unique objectGUID and hence the objectGUID is being referenced to by both databases.
Because objectGUID is unique, it is important to understand that recreating a user, even though it has all the similar display name, last name, password length and all other attributes, it will still be a different object altogether. Knowing this is important because this is how MPS maintain the reference and relationship between AD and MPS.
However, if you look at the database, you will realize that the reference of GUID can be somewhat confusing sometimes because depending on different databases, MPS stores the GUID in different format. I am going to attempt to demystify some of those confusions.
Let’s start. Most of the time, if the AD Object GUID is not being used as the primary key, then it is being stored as the short format (or unformatted GUID) such as this, a 32 digit alphanumeric (0-F)
78CD7DD959FCE840891BA6C698AF1C27
If it is being used as a primary key, then it is usually stored in the long format (or formatted GUID), such as this,
Also, a 36-digit alphanumeric (including hyphens)
7642104C-8DC8-3B4A-A421-A8EFD444CAEE
For example,
In PlanManager database
The Customer table uses the AD Object GUID as the primary key of the table. CustomerID refers to the object GUID of the AD object. The format is in the long GUID format.
The MailboxGUID is in the short format as it is referenced as an asset in the CustomerAsset table.
AD Items |
Sample GUID format stored |
OU\Organization Unit |
7642104c-8dc8-3b4a-a421-a8efd444caee |
User Object |
f9924535-7be0-7240-bd26-48063e72a69c |
MailboxGUID |
78CD7DD959FCE840891BA6C698AF1C27 |
In ResourceManager database
All the GUID references are not primary keys of the table. They are being reference usually in instance_name, instance_location. Instead of using the AD object GUID as the primary key, the system will generate their own GUID such as resource ID, consumer ID as unique primary reference. That’s why you will see the reference to Active Directory object GUID is usually in the short format.
AD Items |
Sample GUID format stored |
OU\Organization Unit |
7E14E9FE8BDF964186D3ABDDABA27AF1 |
User Object |
A2C07FE63CCECB43B62FAA5210B680DF |
Mailbox Database |
265F75BCBB614C4C9568B205130E0ECF |
How GUID appears in different Tools
Depending on the tool you use, you may see different format and arrangement of the alphanumeric digit as well. Note the following,
If you use LDP, when you look at the Active Directory objectGUID, you will see something like the following,
B45FC1B6-212F-47F1-88DD-78889D1DD2A9
For the same object, if you use ADSIEdit, you will see something like this,
B6 C1 5F B4 2F 21 F1 47 88 DD 78 88 9D 1D D2 A9
The above are from the same object but being presented differently. Note the front 16 alpha numeric digits have been flipped.
Now how is this represented in the database? Basically, MPS stores the format as you are seeing in ADSIEdit. What MPS does is this, for short format, it basically just take the format as in ADSIEdit and remove the space in between, like this, B6C15FB42F21F14788DD78889D1DD2A9.
For the long format, this is where it can be confusing. It isn’t following the format as in LDP, instead, it takes the format as in ADSIEdit but slotted the hyphens in accordingly, so it becomes like this,
B6C15FB4-2F21-F147-88DD-78889D1DD2A9
Note: the highlighted portion was not flipped as in LDP. This is important to note.
Getting the object GUID from AD
Using HMC procedure
GUID to LDAP
<?xml version="1.0" encoding="utf-8"?> <request> <data> <GUID>1D9DFFDF5E9E9D4E8C8483D2DF151589</GUID> <preferredDomainController>AD01.HMC45.com</preferredDomainController> </data> <procedure> <execute namespace="Managed Active Directory" procedure="GUIDtoLDAP_" impersonate="2"> <executeData> </executeData> <before source="data" destination="executeData" mode="merge"/> <after source="executeData" destination="data" mode="insert" /> </execute> </procedure> </request> |
LDAP to GUID
<?xml version="1.0" encoding="utf-8"?> <request> <data> <LDAP>LDAP://OU=Alpineskihouse,OU=consolidatedmessenger,OU=Hosting,DC=hmc45,DC=Com</LDAP> <preferredDomainController>AD01.HMC45.com</preferredDomainController> </data> <procedure> <execute namespace="Managed Active Directory" procedure="LDAPtoGUID_" impersonate="2"> <executeData> </executeData> <before source="data" destination="executeData" mode="merge"/> <after source="executeData" destination="data" mode="insert" /> </execute> </procedure> </request> |
Comments
- Anonymous
February 14, 2016
hai, I just want to tell you that I am just very new to blogs and seriously loved this website. More than likely I’m planning to bookmark your blog post .
You amazingly come with really good posts. Thanks a lot for sharing your blog Microsoft.
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Aceh
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Bali
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Balikpapan
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Bandung
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Banjarmasin
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Banten
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Batam
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Bekasi
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Bengkulu
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Bogor
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Bontang
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Cianjur
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Cikarang
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Cilegon
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Cirebon
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Denpasar
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Jakarta
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Jambi
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Jember
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Karawang
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Kendal
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Kudus
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Kupang
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Lampung
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Madiun
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Makasar
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Malang
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Maluku
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Manado
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Medan
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20NTT
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Padang
http://www.lokerjobindo.com/search/label/Lowongan%20Kerja%20BUMN
http://www.lokerjobindo.com/search/label/Lowongan%20Kerja%20Terbaru
http://www.lokerjobindo.com
http://www.lokerjobindo.com/search/label/Lowongan%20Kerja%20Serang
http://www.lokerjobindo.com/search/label/Loker%20Daerah%20Tangerang