2014-12-30 3 views
0

я получаю User GUID из Active Directory в C# используя код ниже:Получить Active Directory GUID из SQL Server

var GUIDID = ""; 

using (var domainContext = new PrincipalContext(ContextType.Domain, domain)) 
{ 
    using (var user = UserPrincipal.FindByIdentity(domainContext, IdentityType.SamAccountName, userNameToUse)) 
    { 
     if (user != null) 
     { 
      GUIDID = user.Guid.ToString(); 
     } 
    }       
} 

Так выход из приведенного выше для конкретного человека кода является:

7b8b17f1-9997-46ac-bec4-c747eed2de33

Что я теперь хочу сделать запрос Active Directory от SQL Server 2008, используя это значение GUIDID. Однако проблема, с которой я столкнулся, - это , не знаю названия столбца.

Я пытался искать того же человека (используя свое полное имя) из SQL, используя код ниже:

SELECT cn, objectGUID 
FROM 'LDAP://xxx.local/OU=xxx Users,DC=xxx,DC=xxx' 
WHERE objectClass = 'User' AND cn = 'John Smith' 

Тем не менее, objectGUID, OBjectSID не то же самое, как GUIDID мой C# код возвращение.

Я также пробовал select * в моем SQL запросе, но он возвращает только путь.

Любое предложение о том, как я могу узнать GUID COLUMN name из кода SQL?

Thanks

ответ

-1

Решение действительно прост. Мне нужно преобразовать ObjectID

SELECT CONVERT(UNIQUEIDENTIFIER,0xF1178B7B9799AC46BEC4C747EED2DE33); 

Надеется, что это помогает кому-то.

Смежные вопросы