繁体   English   中英

System.DirectoryServices.AccountManagement.Principal是否具有空GUID?

[英]Does a System.DirectoryServices.AccountManagement.Principal ever have a null GUID?

我遇到一种情况,我需要存储一个指向Active Directory 用户帐户的全局唯一标识符。 我倾向于Guid,因为它比Sid容易存储。

根据MSDN条目 ,如果ContextType设置为“ Machine”,则该属性(为Nullable)将始终返回null。 我不必为此担心,因为我们的ContextType将始终设置为“ Domain”。

我的问题是,如果ContextType为“ Domain”,此属性是否会返回null? 换句话说,AD DS存储中的帐户是否总是有Guid?

我在回答了一个相关问题后就看到了这一点,答案是肯定的:每个对象都有一个GUID,其概述如下:

http://msdn.microsoft.com/en-us/library/ms675579.aspx

其中,schemaIDGuid上的文档显示“在创建classSchema对象时,如果未指定,则Active Directory服务器会生成此值。如果创建一个新类,请为每个类生成自己的GUID,以便扩展的所有安装都使用相同的schemaIDGUID来引用该类。”

所以....如果您不创建一个,AD会为您完成。

我没有确切的答案,但是我编写了一个简单的控制台应用程序,该应用程序遍历了所有Active Directory用户帐户。

至少对我们而言,答案是否定的。 只要ContextType为“ Domain”,委托人将始终具有Guid

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM