【问题标题】:How can i get all user from Oracle Internet Directory using vbscript?如何使用 vbscript 从 Oracle Internet Directory 获取所有用户?
【发布时间】:2025-12-24 15:05:07
【问题描述】:

如何使用 vbscript 从 Oracle Internet Directory 获取所有用户?

【问题讨论】:

    标签: vbscript oid


    【解决方案1】:

    据我了解,OID 只是另一个 LDAP 服务,因此我假设可以使用类似以下的代码对其进行查询:

    Const ADS_SCOPE_SUBTREE = 2
    
    Set conn = CreateObject("ADODB.Connection")
    Set cmd =   CreateObject("ADODB.Command")
    conn.Provider = "ADsDSOObject"
    conn.Open "Active Directory Provider"
    Set cmd.ActiveConnection = conn
    
    cmd.Properties("Page Size") = 1000
    cmd.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
    
    cmd.CommandText = "SELECT Name FROM 'LDAP://dc=test,dc=com' WHERE objectCategory='user'"
    Set rec = cmd.Execute
    
    rec.MoveFirst
    Do Until rec.EOF
        Wscript.Echo rec.Fields("Name").Value
        rec.MoveNext
    Loop
    

    但是将LDAP://dc=test,dc=com 更改为您需要用来正确绑定到它的内容。

    【讨论】:

    • 如何找回他们的密码?我需要将名称更改为 userpassword 以及 objectCategory 吗?
    • objectCategory 对于其他用户属性将保持不变,但我假设您将无法获取密码,因为那将是不安全的。不过,您也许可以使用SetPassword 之类的方式更改密码。
    • OID 用户密码属性称为 UserPassword。