【问题标题】:Get SamAccountname using DisplayName in Active Directory在 Active Directory 中使用 DisplayName 获取 SamAccountname
【发布时间】:2011-06-20 20:01:30
【问题描述】:

我需要 vbscript 来使用显示名称进行 LDAP 查询,并为我检索 SamAccountName。

【问题讨论】:

    标签: vbscript active-directory


    【解决方案1】:

    应该这样做:

    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand = CreateObject("ADODB.Command")
    
    objConnection.Open "Provider=ADsDSOObject;"
    objCommand.ActiveConnection = objConnection
    
    strDomainName = "dc=YOURDOMAIN,dc=com"
    strUserCN = "FIRSTNAME LASTNAME"
    
    objCommand.CommandText = "<LDAP://" & strDomainName & ">;(&(objectCategory=person)(objectClass=user)(cn=" & strUserCN & "));samAccountName;subtree"
    
    Set objRecordSet = objCommand.Execute
    
    If Not objRecordset.EOF Then
        WScript.Echo objRecordSet.Fields("samAccountName")
    End If
    
    objConnection.Close
    Set objRecordSet = Nothing
    Set objConnection = Nothing
    Set objCommand = Nothing
    

    【讨论】:

      【解决方案2】:

      很棒的脚本(谢谢),但目前只显示记录集中的第一个结果 - 显示输出位需要更像这样:

      DO until objRecordset.EOF = TRUE
      
          WScript.Echo objRecordSet.Fields("samAccountName")
          objRecordSet.MoveNext
      
      Loop
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多