Java 域帐户与用户帐户

Java 域帐户与用户帐户,java,active-directory,ldap,Java,Active Directory,Ldap,我正在尝试为使用LDAP登录的用户检索ObjectSID。问题是它适用于管理员帐户,但不适用于我的本地NT帐户。我正试图找出两者之间的区别。我做了一些研究,根据我的理解,我相信ObjectSID是一个用户属性,因此它不会出现在域帐户中。(这里是我的NT帐户)那么如何将我的NT帐户转换为用户帐户?我应该将其添加到广告中的特定组中吗?谈到LDAP/AD,我是个新手 调试代码后,我注意到它只返回NT帐户的域属性(使用Scope.BASE)和管理员帐户的用户属性(使用Scope.SUBTREE) 我的P

我正在尝试为使用LDAP登录的用户检索
ObjectSID
。问题是它适用于管理员帐户,但不适用于我的本地NT帐户。我正试图找出两者之间的区别。我做了一些研究,根据我的理解,我相信
ObjectSID
是一个用户属性,因此它不会出现在域帐户中。(这里是我的NT帐户)那么如何将我的NT帐户转换为用户帐户?我应该将其添加到广告中的特定组中吗?谈到LDAP/AD,我是个新手

调试代码后,我注意到它只返回NT帐户的域属性(使用
Scope.BASE
)和管理员帐户的用户属性(使用
Scope.SUBTREE


我的PC/NT帐户是域组的一部分。

像您的NT帐户这样的本地帐户不是Active Directory或LDAP域帐户。因此,无法获取此用户对象的域SID。但是,如果计算机是此AD的成员,则可以使AD用户成为本地管理员组的成员(这种情况应该已经存在)。那么域管理员也应该是本地管理员的成员,并且应该返回SID

像您的NT帐户这样的本地帐户不是Active Directory或LDAP域帐户。因此,无法获取此用户对象的域SID。但是,如果计算机是此AD的成员,则可以使AD用户成为本地管理员组的成员(这种情况应该已经存在)。那么域管理员也应该是本地管理员的成员,并且应该返回SID

如果我的NT帐户不是域帐户,它如何返回域属性?它不会,因为正如您已经指出的,它不是域帐户,因此不具有域属性。如果您没有访问域管理员帐户的权限,请使您的域用户帐户成为本地管理员的成员,然后尝试使用该帐户。然后,我建议您停用本地管理员帐户,仅将您的域用户帐户用于管理任务。如果您的计算机是域的成员,为什么要使用本地帐户?如果我的NT帐户不是域帐户,它如何返回域属性?它不返回域属性,因为正如您已经指出的,它不是域帐户,因此不具有域属性。如果您没有访问域管理员帐户的权限,请使您的域用户帐户成为本地管理员的成员,然后尝试使用该帐户。然后,我建议您停用本地管理员帐户,仅将您的域用户帐户用于管理任务。如果您的计算机是域的成员,为什么要使用本地帐户?