Some time ago I developed ADUaCET, an extension for the Active Directory User and Computer MMC snap-in. Sad to say but the ADUaCET property page is not shown if you are searching for an user. It is only available if you use the procedure right click $USER -> Properties. I struggled the whole day with collecting information about this issue.
My results are the following:
- It is not possible to use .NET and only Microsoft.Management.Advanced.PropertySheetExtension for having the property page tab after doing an Active Directory search.
- Active Directory User and Computer MMC delegates the search to dsquery.dll, OpenQueryWindow. OpenQueryWindow uses an out pointer to pass back the Active Directory entries which were found by search query.
- All default property pages (Member of, Sessions, Organization etc.) are included by MMC as COM objects.
- All COM objects to be included in the User property page are stored in the Active Directory schema in CN=adminPropertyPages,CN=user-Display,CN=40[7|9],CN=DisplaySpecifiers,CN=Configuration,DC=yourdomain,DC=local. You can use ADSIEdit to change the used COM objects.
- adminPropertyPages contains 10 GUIDs by default which are references to the registered COM objects. For example %systemroot%system32adprop.dll (GUID {6DFE6488-A212-11D0-BCD5-00C04FD8D5B6}) is one of them.
- For determining which COM DLLs are used take an entry from adminPropertyPages and search your registry below HKLMSOFTWAREClassesCLSID$GUIDInProcServer32
- A good example for registrating a new property page sheet COM object can be found at Yusufs.Directory.Blog (German).
- Microsoft has two pages about Implement the Property Page COM Object and Registering the Property Page COM Object
- codeproject.com has an example project which is based on .NET/C#. The example publishes a new property page sheet as COM object. Really helpful!
0 Comments