Андрей Попов - Windows Script Host для Windows 2000/XP
List="Bce доступные домены в сети:nn";
В цикле while выполняется перебор всех элементов коллекции, которые являются объектами класса Domain; название домена, хранящееся в свойстве Name, добавляется (вместе с символом разрыва строки) в переменную List:
while (!E.atEnd()) {
В //Рзвлекаем текущий элемент коллекции (объект класса Domain)
В DomObj=Р•.item();
 //Формируем строку с именами доменов
В List+=DomObj.Name+"n";
 //Переходим к следующему элементу коллекции
В E.moveNext();
}
Сформированная таким образом переменная List выводится на экран с помощью метода Echo() объекта WScript:
WScript.Echo(List);
Листинг 11.1. Вывод на экран списка всех доменов локальной сети/********************************************************************/
/* РРјСЏ: ListDomains.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                   */
/* Описание: Вывод на экран списка всех доменов локальной сети     */
/********************************************************************/
//Объявляем переменные
var
 NameSpaceObj, //Корневой объект Namespace
В DomObj,В В В В В В //Ркземпляр объекта Domain
 E,           //Объект Enumerator
 SList;       //Строка для вывода на экран
//Связываемся с корневым объектом Namespace
NameSpaceObj = GetObject("WinNT:");
//Устанавливаем фильтр для выделения объектов-доменов
NameSpaceObj.Filter = Array("domain");
//Создаем объект Enumerator для доступа к коллекции NameSpaceObj
E=new Enumerator(NameSpaceObj);
List="Все доступные домены в сети:nn";
//Цикл по всем элементам коллекции доменов
while (!E.atEnd()) {
В //Рзвлекаем текущий элемент коллекции (объект класса Domain)
В DomObj=E.item();
 //Формируем строку с именами доменов
В List+=DomObj.Name+"n";
 //Переходим к следующему элементу коллекции
В E.moveNext();
}
//Вывод информацию на экран
WScript.Echo(List);
/************* Конец *********************************************/
Создание пользователя и группы на рабочей станции
В сценарии AddUser.js, который приведен в листинге 11.2, для создания нового пользователя на рабочей станции выполняются следующие шаги. Во-первых, производится связывание с нужным компьютером (в нашем примере это рабочая станция с именем 404_Popov), т.е. создается экземпляр ComputerObj объекта Computer:
ComputerObj = GetObject("WinNT://404_Popov");
Во-вторых, создается экземпляр UserObj объекта User для нового пользователя. Для этого используется метод Create() объекта Computer; в качестве параметров этого метода указывается имя класса "user" и имя создаваемого пользователя (в нашем примере это имя хранится в переменной UserStr):
UserObj=ComputerObj.Create("user", UserStr);
ЗамечаниеДля создания пользователя или группы у вас в системе должны быть назначены права, которыми обладает администратор.
Для созданного пользователя в свойство Description мы помещаем текст описания:
UserObj.Description="Ртот пользователь создан РёР· сценария WSH";
Для сохранения информации о новом пользователе в базе данных пользователей вызывается метод SetInfo() объекта User:
UserObj.SetInfo();
Листинг 11.2. Создание нового локального пользователя на рабочей станции/********************************************************************/
/* РРјСЏ: AddUser.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                   */
/* Описание: Создание нового пользователя компьютера               */
/********************************************************************/
//Объявляем переменные
var
В ComputerObj,В В В В В В В //Ркземпляр объекта Computer
В UserObj,В В В В В В В В В В В //Ркземпляр объекта User
В UserStr = "XUser";В //РРјСЏ создаваемого пользователя
//Связываемся с компьютером 404_Popov
ComputerObj = GetObject("WinNT://404_Popov");
//Создаем объект класса User
UserObj=ComputerObj.Create("user",UserStr);
//Добавляем описание созданного пользователя
UserObj.Description="Ртот пользователь создан РёР· сценария WSH";
//Сохраняем информацию на компьютере
UserObj.SetInfo();
/************* Конец *********************************************/
Группа РЅР° рабочей станции создается аналогичным образом (листинг 11.3).В
Листинг 11.3. Создание новой локальной группы на рабочей станции/********************************************************************/
/* РРјСЏ: AddGroup.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                   */
/* Описание: Создание новой группы на компьютере                   */
/********************************************************************/
//Объявляем переменные
var
В ComputerObj,В В В В В В В В //Ркземпляр объекта Computer
В GroupObj,В В В В В В В В В В В //Ркземпляр объекта Group
В GroupStr = "XGroup"; //РРјСЏ создаваемой РіСЂСѓРїРїС‹
//Связываемся с компьютером 404_Popov
ComputerObj = GetObject("WinNT://404_Popov");
//Создаем объект класса Group
GroupObj=DomainObj.Create("group", GroupStr);
//Сохраняем информацию на компьютере
GroupObj.SetInfo();
/************* Конец *********************************************/
Вывод информации о пользователе и смена его пароля