Get Active Directory GUID from SQL Server

本文关键字:SQL Server from GUID Active Directory Get | 更新日期: 2023-09-27 18:35:38

我使用以下代码从C#中的Active Directory获取User GUID

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

我现在要做的是使用该GUIDIDSQL Server 2008查询活动目录。但是,我遇到的问题是我不知道该列的名称

我尝试使用以下代码从SQL中搜索同一个人(使用他们的全名):

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

然而,objectGUIDOBjectSID与我的C#代码返回GUIDID不同。

我还尝试select *我的SQL查询,但它只返回路径。

关于如何从SQL代码中找出GUID COLUMN name的任何建议?

谢谢

Get Active Directory GUID from SQL Server

解决方案非常简单。我需要转换ObjectID

SELECT CONVERT(UNIQUEIDENTIFIER,0xF1178B7B9799AC46BEC4C747EED2DE33);

希望它对某人有所帮助。