Лучший отвечающий
Search for All Users by Password Change Date

Вопрос
-
Взял исходник с http://gallery.technet.microsoft.com/ScriptCenter/en-us/99748fd4-98d3-4c7c-9292-7674d0c0adf5
и получил учетки пользователей и учетки компьютеров (серверов), что меня удивило
ведь мне нужно только учетки пользователей, как исключить учетки компьтеров (ведь в исходнике указано "Search for All Users by Password Change Date")
On Error Resume Next Const ADS_SCOPE_SUBTREE = 2 dtmpasswordDate = "10/1/2007" Set objShell = CreateObject("Wscript.Shell") lngTimeZoneBias = objShell.RegRead("HKLM\System\CurrentControlSet\Control\" _ & "TimeZoneInformation\ActiveTimeBias") If UCase(TypeName(lngTimeZoneBias)) = "LONG" Then lngFinalBias = lngTimeZoneBias ElseIf UCase(TypeName(lngTimeZoneBias)) = "VARIANT()" Then lngFinalBias = 0 For k = 0 To UBound(lngTimeZoneBias) lngFinalBias = lngFinalBias + (lngTimeZoneBias(k) * 256^k) Next End If dtmNewDate = DateAdd("n", lngFinalBias, dtmpasswordDate) lngSeconds = DateDiff("s", #1/1/1601#, dtmNewDate) strModifiedpasswordDate = CStr(lngSeconds) & "0000000" Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCommand.ActiveConnection = objConnection objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE objCommand.CommandText = _ "SELECT Name FROM 'LDAP://dc=fabrikam,dc=com' WHERE objectClass='user' " & _ "AND pwdLastSet>='" & strModifiedpasswordDate & "'" Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst Do Until objRecordSet.EOF Wscript.Echo objRecordSet.Fields("Name").Value objRecordSet.MoveNext Loop
2 сентября 2009 г. 12:29
Ответы
-
В Select нужно добавить - objectCategory=person - тогда получите только пользователей.
Если ответ Вам помог, нажмите на изображение зеленой галочки - «пометить как ответ». Если ответ был для Вас полезен, Вы можете пометить это сообщение как «полезное», нажав на ссылку "проголосовать за полезное сообщение" в правом верхнем углу сообщения.- Помечено в качестве ответа Sergey O O 4 сентября 2009 г. 9:37
2 сентября 2009 г. 18:07
Все ответы
-
В Select нужно добавить - objectCategory=person - тогда получите только пользователей.
Если ответ Вам помог, нажмите на изображение зеленой галочки - «пометить как ответ». Если ответ был для Вас полезен, Вы можете пометить это сообщение как «полезное», нажав на ссылку "проголосовать за полезное сообщение" в правом верхнем углу сообщения.- Помечено в качестве ответа Sergey O O 4 сентября 2009 г. 9:37
2 сентября 2009 г. 18:07 -
В Select нужно добавить - objectCategory=person - тогда получите только пользователей.
Примерно так?
Если ответ Вам помог, нажмите на изображение зеленой галочки - «пометить как ответ». Если ответ был для Вас полезен, Вы можете пометить это сообщение как «полезное», нажав на ссылку "проголосовать за полезное сообщение" в правом верхнем углу сообщения.
objCommand.CommandText = _
"SELECT Name FROM 'LDAP://dc=forum,dc=kiev,dc=ua,dc=alfabank' WHERE objectCategory='person'" & _
"AND pwdLastSet>='" & strModifiedpasswordDate & "'"4 сентября 2009 г. 6:27 -
Примерно так:
objCommand.CommandText = _
"SELECT Name FROM 'LDAP://dc=forum,dc=kiev,dc=ua,dc=alfabank' WHERE objectClass='user' AND objectCategory='person'" & _
"AND pwdLastSet>='" & strModifiedpasswordDate & "'"
Если ответ Вам помог, нажмите на изображение зеленой галочки - «пометить как ответ». Если ответ был для Вас полезен, Вы можете пометить это сообщение как «полезное», нажав на ссылку "проголосовать за полезное сообщение" в правом верхнем углу сообщения.4 сентября 2009 г. 7:21