Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования. Часть 3

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

YNY

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
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=DOMAIN,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)
'objUser1.Get("sAMAccountName") - выдает логин юзера
'objUser1.Get("userPrincipalName") - выдает "логин юзера@полное имя домена"  
'objUser1.Get("Name") - выдает имя юзера из описания
 
    objUser1.Put "mail", "it@domain.ru"  
        objUser1.SetInfo
    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

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 10:15 10-06-2012 | Исправлено: YNY, 11:06 10-06-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования. Часть 3


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru