Андрей Попов - Windows Script Host для Windows 2000/XP
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 Содержит имя пользователяЛистинг 1.8. Пример использования объекта WshNetwork
/*******************************************************************/
/* РРјСЏ: ShowNetwork.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                  */
/* Описание: Вывод на экран сетевого имени компьютера и имени     */
/*          пользователя                                         */
/*******************************************************************/
var objNet;
//Создаем объект WshNetwork
objNet = WScript.CreateObject("WScript.Network");
//Выводим на экран свойства ComputerName и UserName
WScript.Echo("РРјСЏ машины:",objNet.ComputerName);
WScript.Echo("РРјСЏ пользователя:",objNet.UserName);
/************* Конец *********************************************/
Методы объекта WshNetwork описаны в табл. 1.6.
Таблица 1.6. Методы объекта WshNetwork
Метод Описание AddPrinterConnection(strLocalName, strRemoteName [ ,bUpdateProfile] [,strUser] [,strPassword]) Подключает локальный порт компьютера к сетевому принтеру Для Windows NT/2000/XP: AddWindowsPrinterConnection(strPrnPath) Для Windows 9x: AddWindowsPrinterConnection(strPrnPath, strDriverName[, strPort]) Регистрирует принтер в Windows и подключает его к сетевому ресурсу. В отличие от AddPrinterConnection, этот метод позволяет создать связь с сетевым принтером без явного перенаправления вывода в локальный порт EnumNetworkDrives() Возвращает коллекцию, в которой хранятся буквы и сетевые пути ко всем подключенным сетевым дискам EnumPrinterConnections() Возвращает коллекцию, в которой хранятся данные обо всех подключенных сетевых принтерах MapNetworkDrive(strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword]) Подключает сетевой ресурс strRemoteName под локальным именем диска strLocalName RemoveNetworkDrive(strName, [bForce], [bUpdateProfile]) Отключает подключенный сетевой диск RemovePrinterConnection(strName, [bForce], [bUpdateProfile]) Отключает подключенный сетевой принтер SetDefaultPrinter(strPrinterName) Делает заданный сетевой принтер принтером по умолчаниюОпишем методы из табл. 1.6 более подробно.
Метод AddPrinterConnection
Если необязательный параметр bUpdateProfile равен True, то создаваемое сетевое подключение будет сохранено в профиле пользователя.
Параметры strUser (имя пользователя) и strPassword (пароль) нужны в том случае, когда вы подключаете сетевой принтер от имени пользователя, которое отличается от имени текущего пользователя, зарегистрированного в системе.
В следующем примере метод AddPrinterConnection применяется для подключения принтера с сетевым именем \Server1Epson к локальному порту LPT1:
var WshNetwork = CreateObject("WScript.Network");
WshNetwork.AddPrinterConnection("LPT1", "\Server1Epson");
Метод AddWindowsPrinterConnection
Параметр strDriverName указывает имя драйвера, необходимого для подключаемого принтера. Если принтер подключается в операционной системе Windows 9х, то нужный драйвер уже должен быть установлен на этой машине, иначе возникнет ошибка подключения. В Windows NT/2000/XP параметр strDriverName игнорируется.
Параметр strPort задает в явном виде порт, вывод в который будет перенаправлен на сетевой ресурс (по умолчанию это порт LPT1). В Windows NT/2000/XP параметр strPort игнорируется.
В следующем примере метод AddWindowsPrinterConnection применяется для подключения сетевого принтера к локальному порту LPT1 (по умолчанию):
varВ WshNetwork=CreateObject("WScript.Network");
PrinterPath="\printservDefaultPrinter";
PrinterDriver="Lexmark Optra S 1650";
WshNetwork.AddwindowsPrinterConnection(PrinterPath, PrinterDriver);