Автор: YNY
Дата сообщения: 13.02.2011 15:27
rijk
для начала [more=вот этим]
const ADS_SCOPE_SUBTREE = 2 ' или 0 если не интересны вложенные ОУ
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
'7
Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = _
"Select * from 'LDAP://DC=Myh,DC=local' " _
& "Where objectClass='User' and objectCategory='person'"
'objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set rs = objCommand.Execute
rs.MoveFirst
'18
Do Until rs.EOF
'msgbox ChkLAcc(rs.Fields(0).Value)
'тока для не встроенных и локальных будем создавать папки
if Not ChkLAcc(rs.Fields(0).Value) then
Set objUser1 = GetObject(rs.Fields(0).Value)
'файл может/должен быть на шаре
CrF "c:\",objUser1.Get("Name")
Set objUser1= Nothing
end if
rs.MoveNext
Loop
'чекаем локальные и встроенные аккаунты
Function ChkLAcc(FDQNAccName)
const LAC0="IUSR_"
const LAC1="IWAM_"
const LAC2="SUPPORT_"
const LAC3="krbtgt"
on error resume next
ChkLAcc=False
Set objUser = GetObject(FDQNAccName)
if IsNull(objUser.Get("Description")) then exit function
if instr(objUser.Get("Description"),"Встроенная")_
OR instr(objUser.Get("Name"),LAC0)_
OR instr(objUser.Get("Name"),LAC1)_
OR instr(objUser.Get("Name"),LAC2)_
OR instr(objUser.Get("Name"),LAC3) then
ChkLAcc=true
Set objUser = Nothing
exit function
end if
End Function
'создаем файл если еще не существует в указанном месте с нужным именем
Function CrF(FullPath,FName)
msgbox FullPath&"-}-"&FName
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(filespec)) Then
Set f = fso.OpenTextFile(FullPath&"ListLocAcc.txt", ForAppending, True)
else
Set f = fso.OpenTextFile(FullPath&"ListLocAcc.txt", ForWriting, True)
end if
f.WriteLine FName
f.Close
Set fso = Nothing
End Function
[/more] создаешь список заблокированных аккаунтов в домене, а затем