Sub GetUserInfo
GetListUsers objRecordset
Do Until objRecordset.EOF
If objRecordset("givenName") <> "" and objRecordset("mail") <> "" then
WriteLineToLogFile(objRecordset("Sn")&","&objRecordset("givenName")&","&objRecordset("mail"))
End If
objRecordset.MoveNext
Loop
End Sub
'*********************************
Sub GetListUsers(objRecordset)
Dim objConnection, strSQL, oRootDSE
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;Encrypt Password=False;Integrated Security=SSPI;Mode=Read;Bind Flags=0;ADSI Flag=-2147483648"
Set objRecordset = CreateObject("ADODB.Recordset")
Set oRootDSE = GetObject("LDAP://RootDSE")
'Set oRootDSE = GetObject("LDAP://dc=xx-spb,dc=bla,dc=com")
strSQL = "SELECT Sn, givenName, mail, userAccountControl "_
&"FROM 'LDAP://" & oRootDSE.Get("defaultNamingContext")_
& "' WHERE objectCategory='user' "_
& "AND userAccountControl <> 514"
Set objRecordset = objConnection.Execute(strSQL)
Set objConnection = Nothing
End Sub
[/code]
вот собсна часть, формируем запрос, выбираем по определенным полям и пишем в файл.
хочу иметь доступ еще к некоторым полям из АД, таким как City например, и не могу найти ((
PostalAddresses - Postal address as a BSTR array. This property is multi-valued to hold more than addresses of the user. The internal format of a PostalAddress should comply with CCITT F.401 as referenced in X.521-1993, which defines a PostalAddress as six elements of 30 bytes each, holding a street address, (optionally) Post Office Box, city or locality, state or province, Postal Code, and Country/Region.
Извини, в скрипте не тестил, нет сейчас времени. Попробуй поискать примеры.
PostalAddresses - Postal address as a BSTR array. This property is multi-valued to hold more than addresses of the user. The internal format of a PostalAddress should comply with CCITT F.401 as referenced in X.521-1993, which defines a PostalAddress as six elements of 30 bytes each, holding a street address, (optionally) Post Office Box, city or locality, state or province, Postal Code, and Country/Region.
Извини, в скрипте не тестил, нет сейчас времени. Попробуй поискать примеры.
[/quote]
все с тем же ЛДАП связанная, хочу зайти в доверительный АД и сделать выборку там:
меняю
Set oRootDSE = GetObject("LDAP://RootDSE")
на
Set oRootDSE = GetObject("LDAP://dc=xx-spb,dc=bla,dc=com")
скрипт ошибок не выдает, но и репорта тожа (((
как посмотреть его выполнение пошагово ну или еще чего, щас попробую
wscript.echo понатыкать, но это наверно очено коряво ))
Set oRootDSE = GetObject("LDAP://dc=xx-spb,dc=bla,dc=com")
[/quote]
ни к чему.
таким образом, имеем
Код
GetUserInfo
Sub GetUserInfo
GetListUsers objRecordset
Do Until objRecordset.EOF
If objRecordset("givenName") <> "" and objRecordset("mail") <> "" then
WriteLineToLogFile(objRecordset("Sn")&","&objRecordset("givenName")&","&objRecordset("mail"))
End If
objRecordset.MoveNext
Loop
End Sub
'*********************************
Sub GetListUsers(objRecordset)
Dim objConnection, strSQL, oRootDSE
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;Encrypt Password=False;Integrated Security=SSPI;Mode=Read;Bind Flags=0;ADSI Flag=-2147483648"
Set objRecordset = CreateObject("ADODB.Recordset")
strSQL = "SELECT Sn, givenName, mail, userAccountControl "_
&"FROM 'LDAP://dc=xx-spb,dc=bla,dc=com_
& "' WHERE objectCategory='user' "_
& "AND userAccountControl <> 514"
Set objRecordset = objConnection.Execute(strSQL)
Set objConnection = Nothing
End Sub
[/code]
нет времени разбираться — наймите того, кто знает.