Получите SamAccountname, используя DisplayName в Active Directory - PullRequest
0 голосов
/ 21 июня 2011

Мне нужен vbscript, который будет выполнять запрос LDAP с использованием отображаемого имени и извлекать для меня SamAccountName.

Ответы [ 2 ]

0 голосов
/ 18 января 2012

Отличный скрипт (и спасибо), но в данный момент показывает только первый результат в наборе записей - для отображения выходного бита нужно что-то более похожее на это:

DO until objRecordset.EOF = TRUE

    WScript.Echo objRecordSet.Fields("samAccountName")
    objRecordSet.MoveNext

Loop
0 голосов
/ 24 июня 2011

Что-то вроде этого должно сделать это:

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
...