gpt4 book ai didi

.net - LDAP : how to get a list of all domain names

转载 作者:行者123 更新时间:2023-12-02 17:34:15 25 4
gpt4 key购买 nike

我是 LDAP 新手。我正在尝试列出所有 NT 域名。我所说的 NT 域名是指您在 LAN 网络上找到的域的名称。当您尝试登录到 Windows XP 计算机时,您可以在该计算机上观察到这一点(即按 ctrl+alt+del 后出现的登录对话框)。通常我们在输入凭据后在最后一个下拉列表中选择域名。

我查看了 this post ,并且无法从中获得任何东西。我不知道 rootDSE 是什么。帖子中给出的代码是使用 rootdse 完成的。但是,我有一个特定的服务器可以访问和查询,我认为它是一个域 Controller 。 (我可能是错的)。我们写一些类似的东西

LDAP://<domain_name>/dc=<domain>,dc=org

正如帖子中给出的,我尝试查找名为 rootDomainNamingContext 的属性。但我找不到它。然后我尝试了下面的代码:

Sub Main()
Dim oRoot As DirectoryEntry = Nothing
'Dim oSearcher As DirectorySearcher
'Dim oResults As SearchResultCollection

Try

oRoot = New DirectoryEntry("LDAP://<domain_name>/dc=<domain>,dc=org")
For Each obj As String In oRoot.Properties.PropertyNames
Console.Write(obj + ", ")
Next
Catch ex As Exception
Console.Write(ex.Message)
Finally
oRoot.Dispose()
End Try

Console.Read()
End Sub

我不知道在我得到的输出中要具体寻找什么。我得到的输出是:

objectClass, description, distinguishedName, instanceType, whenCreated, whenChan
ged, subRefs, uSNCreated, dSASignature, repsTo, repsFrom, uSNChanged, name, obje
ctGUID, replUpToDateVector, creationTime, forceLogoff, lockoutDuration, lockOutO
bservationWindow, lockoutThreshold, maxPwdAge, minPwdAge, minPwdLength, modified
CountAtLastProm, nextRid, pwdProperties, pwdHistoryLength, objectSid, uASCompat,
modifiedCount, auditingPolicy, nTMixedDomain, rIDManagerReference, fSMORoleOwne
r, systemFlags, wellKnownObjects, objectCategory, isCriticalSystemObject, gPLink
, gPOptions, masteredBy, ms-DS-MachineAccountQuota, msDS-Behavior-Version, msDS-
PerUserTrustQuota, msDS-AllUsersTrustQuota, msDS-PerUserTrustTombstonesQuota, ms
Ds-masteredBy, dc, nTSecurityDescriptor,

我真的需要指导。

更新

我使用下面的代码来获取域:

    Dim dc As New DirectoryContext(DirectoryContextType.DirectoryServer, DcIpAddr)
Dim domc As DomainController = DomainController.GetDomainController(dc)
For Each dmn As Domain In domc.Forest.Domains
Console.WriteLine(dmn.Name)
Next

现在的问题有两个。首先,域名不一致。假设我的 DC 的 DNS 名称是 prod.domain.com,预期的域名例如是开发、域等。相反,我得到了 dev.domain.org、domain.org 等。 Windows登录对话框中出现的一些名称在查询时会带有后缀domain.org;有些具有后缀.org

第二个问题是并非所有域名(出现在 Windows 登录对话框中的第三个下拉列表中)都出现。想知道为什么会这样吗?

更新

认为其他域(未出现)可能是另一个域 Controller 服务器的一部分,或者我需要使用适当的凭据访问 DC。

最佳答案

RootDSE 定义于 LDAP clossary 。在您的情况下,根 DSE 可能是 LDAP://<domain_name>/dc=<domain>,dc=org .

如果您的 AD 服务器定义了 rootDomainNamingContext,您应该能够使用其他 Stack Overflow 问题上的代码获取域。由于您似乎没有该属性,因此您需要迭代记录以找到正确的属性。我建议您通过物理方式或通过远程桌面访问域 Controller ,然后打开 AD 目录并查找条目及其属性,以便更好地了解需要从 VB 查询的内容。如果您无法访问,请询问您的系统管理员。

关于.net - LDAP : how to get a list of all domain names,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3369505/

25 4 0