Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Из объектной модели протокола WinNT видно, что в пространстве имен NameSpace существует всего два класса: Domain и Computer. Рассмотрим каждый из этих классов в отдельности.
Класс Domain
Определение доступных доменов
Класс Domain является верхним уровнем пространства имен, поэтому для определения доступных доменов в функции GetObject() ограничиваются название протокола. Необходимо помнить, что название протокола должно быть написано именно WinNT – в противном случае сценарий выдаст ошибку:
Пример 4
Set obj=GetObject("WinNT:")
For Each element In obj
temp=element.Name
Next
MsgBox temp
Чтение параметров класса Domain
Класс Domain включает в себя восемь параметров. Все эти параметры задаются в групповых политиках, за исключением параметра Name. Описание параметров см. в Приложении.
При создании скрипта на VBScript необходимо помнить, что VBScript не преобразует типы данных автоматически, поэтому числовые данные необходимо преобразовывать в строковые с помощью функции cstr().
Пример 5. Чтение всех полей класса Computer
Set obj=GetObject("WinNT:")
For Each element In obj
t1="Name: " + cstr(element.Name)+chr(13)
t2="MinPasswordLength: "+ cstr(element.MinPasswordLength)+chr(13)
t3="MinPasswordAge: " + cstr(element.MinPasswordAge)+chr(13)
t4="MaxBadPasswordsAllowed: "+ cstr(element.MaxBadPasswordsAllowed)+chr(13)
t5="AutoUnlockInterval: " + cstr(element.AutoUnlockInterval)+chr(13)
t6="LockoutObservationInterval: " + cstr(element.LockoutObservationInterval)
temp=temp+t1+t2+t3+t4+t5+t6+chr(13)+chr(13)
Next
MsgBox temp
Значения MinPasswordAge и MaxPasswordAge указываются в групповых политиках в днях, поэтому необходим перевод в дни, для чего полученное число необходимо разделить на 86400; значения MinPasswordAge и LockoutObservationInterval указываются в групповых политиках в минутах, поэтому полученные значения необходимо разделить на 60.
Обновление параметров класса Domain
Установка новых параметров перечисленных значений осуществляется с помощью метода SetInfo.
Пример 6. Изменение значения минимальной длины пароля в домене (NewLenght=10)
NewLenght=10
Set obj=GetObject("WinNT:")
For Each element In obj
element.MinPasswordLength= NewLenght
obj.SetInfo
temp ="NEW: MinPasswordLength: "+ cstr(element.MinPasswordLength)+chr(13)
Next
MsgBox temp
Перечисление объектов класса Domain
Просмотр содержимого контейнера осуществляется с помощью конструкции For в соответствии с приведенным ниже шаблоном. В качестве значения переменной Container может быть имя домена или компьютера:
Пример 7
Container="Value"
Set obj=GetObject("WinNT://"& Container)
For Each element In obj
temp = temp + element.name + "; "
Next
MsgBox temp
Такой метод перечисления объектов будет возвращать все содержимое любой базы SAM – контроллера домена, сервера или рабочей станции.
В приведенном примере возвращались объекты всех классов, содержащиеся в домене (или в локальной базе SAM), поскольку тип объектов не определялся. Поскольку в домене огромное количество объектов, для увеличения скорости работы скрипта целесообразно использовать фильтр. Фильтр может в себя включать следующие объекты:
Таблица 3
Объект |
Описание |
Объект |
Описание |
User |
Учетная запись пользователя |
Group |
Все группы |
Computer |
Учетная запись компьютера |
LocalGroup |
Локальная группа |
Service |
Сервис |
GlobalGroup |
Глобальная группа |