我使用以下代码在User GUID
中从Active Directory获取C#
:
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
我现在要做的是使用SQL Server 2008
从GUIDID
查询Active Directory。但是,我遇到的问题是我不知道列的名称。
我尝试使用以下代码从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
,但它只返回路径。
有关如何从SQL代码中找到GUID COLUMN name
的任何建议吗?
谢谢
答案 0 :(得分:-1)
解决方案非常简单。我需要转换ObjectID
SELECT CONVERT(UNIQUEIDENTIFIER,0xF1178B7B9799AC46BEC4C747EED2DE33);
希望它对某人有帮助。