Андрей Попов - Windows Script Host для Windows 2000/XP
- Название:Windows Script Host для Windows 2000/XP
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2004
- Город:Санкт-Петербург
- ISBN:5-94157-197-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание
В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.
Windows Script Host для Windows 2000/XP - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Объект WshUnnamed
В коллекции WshUnnamed
содержатся параметры командной строки запущенного сценария, у которых нет имени (безымянные параметры). Создается этот объект с помощью свойства Unnamed
коллекции WshArguments
. Для того чтобы получить значение определенного аргумента, его номер используется в качестве индекса коллекции (нумерация начинается с нуля).
Узнать число безымянных параметров можно только с помощью свойства Length
коллекции WshUnnamed
; метода Count
у этой коллекции нет.
Например, сценарий MyScript.js запущен с двумя безымянными параметрами:
MyScript.js "Andrey Popov" Server1
Тогда после выполнения в сценарии MyScript.js любого из следующих двух блоков:
var objUnnamedArgs;
obUnnamedArgs=WScript.Arguments.Unnamed;
WScript.Echo("Имя пользователя: "+objUnnamedArgs.Item(0));
WScript.Echo("Имя компьютера: "+objUnnamedArgs.Item(1));
или
var objUnnamedArgs;
obUnnamedArgs=WScript.Arguments.Unnamed;
WScript.Echo("Имя пользователя: "+objUnnamedArgs(0));
WScript.Echo("Имя компьютера: "+objUnnamedArgs(1));
на экран выведутся следующие строки:
Имя пользователя: Andrey Popov
Имя компьютера: Server1
Примеры, иллюстрирующие использование объекта WshUnnamed
, приведены также в главе 2 (см. листинги 2.22 и 2.23).
Объект WshEnvironment
Объект WshEnvironment
позволяет получить доступ к коллекции, содержащей переменные среды заданного типа (переменные среды операционной системы, переменные среды пользователя или переменные среды текущего командного окна). Этот объект можно создать с помощью свойства Environment
объекта WshShell
или одноименного его метода:
var WshShell=WScript.Createobject("WScript.Shell"),
WshSysEnv=WshShell.Environment,
WshUserEnv=WshShell.Environment("User");
Объект WshEnvironment
имеет свойство Length
, в котором хранится число элементов в коллекции (количество переменных среды), и методы Count
и Item
. Для того чтобы получить значение определенной переменной среды, в качестве аргумента метода Item
указывается имя этой переменной в двойных кавычках. В следующем примере мы выводим на экран значение переменной среды PATH
:
var WshShell=WScript.CreateObject("WScript.Shell"), WshSysEnv=WshShell.Environment;
WScript.Echo("Системный путь:", WshSysEnv.Item("PATH"));
Можно также просто указать имя переменной в круглых скобках после имени объекта:
WScript.Echo("Системный путь:",WshSysEnv("PATH");
Кроме этого, у объекта WshEnvironment имеется метод Remove(strName), который удаляет заданную переменную среды. Например, в листинге 1.6 приведен сценарий, который удаляет две переменные ( EXAMPLE_1
и EXAMPLE_2
) из окружения среды пользователя.
Если в окружении среды пользователя нет переменных с именами EXAMPLE_1
и EXAMPLE_2
, то при вызове метода Remove
произойдет ошибка.
/*******************************************************************/
/* Имя: RemEnv.js */
/* Язык: JScript */
/* Описание: Удаление двух переменных среды */
/*******************************************************************/
//Создаем объект WshShell
var WshShell = WScript.CreateObject("WScript.Shell");
//Создаем объект WshEnvironment
var WshUsrEnv = WshShell.Environment("User");
//Удаляем переменные среды
WshUsrEnv.Remove("EXAMPLE_1");
WshUsrEnv.Remove("EXAMPLE_2");
/************* Конец *********************************************/
Объект WshSpecialFolders
Объект WshSpecialFolders
обеспечивает доступ к коллекции, содержащей пути к специальным папкам Windows (например, к рабочему столу или к меню Пуск(Start)); задание путей к таким папкам может быть необходимо, например, для создания непосредственно из сценария ярлыков на рабочем столе.
В Windows 9 х поддерживаются следующие имена специальных папок:
□ Desktop;
□ Favorites;
□ Fonts;
□ MyDocuments;
□ NetHood;
□ PrintHood;
□ Programs;
□ Recent;
□ SendTo;
□ StartMenu;
□ Startup;
□ Templates.
В Windows NT/2000/XP дополнительно можно получить доступ еще к четырем папкам, которые хранят данные для всех пользователей:
□ AllUsersDesktop;
□ AllUsersStartMenu;
□ AllUsersPrograms;
□ AllUsersStartup.
Объект WshSpecialFolders
создается c помощью свойства SpecialFolders
объекта WshShell
:
var WshShell=WScript.CreateObject("WScript.Shell"),
WshSpecFold=WshShell.SpecialFolders;
Как и почти все коллекции WSH, объект WshSpecialFolders
имеет свойство Length
и методы Count
и Item
. Доступ к отдельному элементу производится либо через имя соответствующей папки, либо через числовой индекс (Листинг 1.7).
WshSpecialFolders
/*******************************************************************/
/* Имя: ShowSpecFold.js */
/* Язык: JScript */
/* Описание: Вывод на экран названий специальных папок Windows */
/* (коллекция WshSpecialFolders) */
/*******************************************************************/
var WshShell, WshFldrs, i;
//Создаем объект WshShell
WshShell = WScript.CreateObject("Wscript.Shell");
//Создаем объект WshSpecialFolders
WshFldrs = WshShell.SpecialFolders;
WScript.Echo("Некоторые специальные папки...");
//Выводим путь к папке Desktop
WScript.Echo("Desktop="+ WshFldrs.item("Desktop"));
//Выводим путь к папке Favorities
WScript.Echo("Favorites="+ WshFldrs("Favorites"));
//Выводим путь к папке Programs
WScript.Echo("Programs="+ WshFldrs("Programs"));
WScript.Echo("");
WScript.Echo("Список всех специальных папок...");
for (i=0;i<= WshFldrs.Count()-1;i++){
//Выводим на экран i-й элемент коллекции WshFldrs
WScript.Echo(WshFldrs(i));
}
/************* Конец *********************************************/
Другие примеры работы со специальными папками Windows приведены в главе 2 (см. листинги 2.39–2.42).
Работа с сетью и оболочкой Windows
Для работы с локальной сетью и оболочкой Windows (специальные папки, переменные среды, системный реестр) предназначены соответственно объекты WshNetwork
и WshShell
.
Объект WshNetwork
Объект WshNetwork
предназначен для работы с ресурсами локальной сети; с помощью методов этого объекта можно подключать и отключать сетевые диски и принтеры.
Объект WshNetwork
создается следующим образом:
var objNet=WScript.CreateObject("WScript.Network");
Свойства данного объекта приведены в табл. 1.5.
Таблица 1.5.Свойства объекта WshNetwork
Свойство | Описание |
---|---|
ComputerName |
Содержит имя компьютера, на котором запущен сценарий |
UserDomain |
Содержит имя домена, в котором зарегистрировался пользователь |
UserName |
Содержит имя пользователя |
WshNetwork
/*******************************************************************/
/* Имя: ShowNetwork.js */
/* Язык: JScript */
/* Описание: Вывод на экран сетевого имени компьютера и имени */
Интервал:
Закладка: