СЦЕНАРИЙ:
'**************************************************************************************
'Создал: 04/08/2002
'Автор: Yi Хелен Wang
'Цель: Искать потребителей через активно директорию (AD)
' Windows 2000, котор нужно обеспечить против дублировать когда
' новый потребитель добавлен в ОБЪЯВЛЕНИЕ
'Ключевые слова: СУЕТА и ADSI 2.5 или поднимают
'Рассмотрел: 05/13/2002
'Комментарий: Вы должны задать позволение получить активно директорию
' информация. Эта программа бежится местно или дистанционно
'***************************************************************************************
на резюме ошибки затем
тусклое oContainer, searchpath
тусклое oRoot
тусклое oConnect, oCommand, rs
тусклое strConnect, strDomainCtrl, strOU
тусклое cntuser, newuser, strCN, strSearchUser
newuser = ложно
cntuser = 0
'получить namespace LDAP
установите oRoot = GetObject («LDAP: //RootDSE ")
звонок ShowError («вопросы позволения! ")
strDomainCtrl = oRoot.Get («defaultNamingContext»)
strOU = InputBox («пожалуйста вход имя блока организации, котор нужно искать: », «ищущ», «законно»)
если Len, то (уравновешивание (strOU)) = 0 после этого
msgbox «никакая, котор информация не напечатала на машинке внутри!»
еще
strConnect = «LDAP: //OU=» & strOU &», «& strDomainCtrl
установите oContainer = GetObject (strConnect)
вызовите ShowError («OUNameNotExist»)
searchpath = oContainer.ADsPath
strSearchUser = InputBox («пожалуйста вход потребитель искал инициал: », «искать», «sls»)
если Len, то (уравновешивание (strSearchUser))=0 после этого
msgbox «никакая, котор информация не напечатала на машинке внутри!»
еще
'Using СУЕТА для того чтобы запросить активно директорию для потребителя particule
установите oConnect = CreateObject («ADODB.Connection»)
установите oCommand = CreateObject («ADODB.Command»)
вызовите ShowError («ADOProblems»)
'раскрывающ соединение
oConnect.Provider = «ADsDSOObject»
oConnect.Open «активно провайдер директории»
звонок ShowError («ADOProvider»)
'создающ предмет командование для этого соединения
Установите oCommand.ActiveConnection = oConnect
strCN = strSearchUser
СДЕЛАЙТЕ ПОКА newuser <> поистине
oCommand.CommandText = «ОТБОРНОЕ samAccountName ОТ «» & searchpath & «» ГДЕ objectClass='user И samAccountName = ««& strSearchUser &»» «
'создающ recordset основанное на командование СУЕТЫ
установите rs = oCommand.Execute
'Проводить записывает комплект
если rs.EOF и rs.BOF после этого
msgbox «новый потребитель»
newuser = True
еще
cntuser = cntuser + 1
'переименуйте и проверяйте снова до никакого дублирования
strSearchUser = вышло (strCN, 1) & правое (strCN, 1) & cntuser
msgbox «переименует CN как» & strSearchUser
установите rs = ничего
закончитесь если
ПЕТЛЯ
закончитесь если
закончитесь если
sub ShowError (strErr)
если заблуждается <> 0 после этого
если заблуждаются = 432 или err=70 после этого
wscript.echo «позволение выдает для того чтобы побежать программа»
wscript.quit
еще
выберите strErr случая
покрывайте «OUNameNotExist»
wscript.echo «имя OU не правильно или не существовать!»
wscript.quit
случай «ADOProblems»
wscript.echo «проблемы СУЕТЫ!»
wscript.quit
случай «ADOProvider»
wscript.echo «проблемы провайдера СУЕТЫ!»
wscript.quit
конец отборный
закончитесь если
закончитесь если
закончите подводную лодку
|