Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

 ' В первом элементе коллекции содержится названия локальных портов,

 ' во втором - сетевое имя принтера и т.д.

 s=s & NetwPrinters.Item(i) & " " & NetwPrinters.Item(i+1) & vbCrLf

 i=i+2

Wend

WScript.Echo s 'Выводим сформированные строки на экран

'************* Конец *********************************************

Подключение и отключение

сетевых дисков и принтеров

Имеющиеся в локальной сети общедоступные ресурсы (диски и принтеры) можно посредством сценария подключить к рабочей станции для совместного использования. Подключаемому сетевому диску при этом нужно поставить в соответствие незанятую букву локального диска (например, если в системе уже имеются диски С:, D: и Е: (локальные или сетевые), то сетевой диск можно подключить под буквой F: или K:, но не Е:). В случае подключения сетевого принтера можно либо напрямую соединиться с этим принтером (для печати из приложений Windows), либо поставить в соответствие удаленному принтеру локальный порт (для печати из старых приложений MS-DOS).

Замечание

Сетевые диски и принтеры также можно подключить с помощью Проводника Windows или выполнив соответствующую команду

NET USE
.

В качестве примера рассмотрим JScript-сценарий MapResources.js (листинг 2.50), в котором производится подключение диска K: к сетевому ресурсу \\RS_NT_Server\d и установка связи локального порта LPT1 с сетевым принтером \\104_Stepankova\HP.

Сначала нужно создать экземпляры объектов WshNetwork и WshShell:

WshNetwork = WScript.CreateObject("WScript.Network");

WshShell = WScript.CreateObject("WScript.Shell");

Для того чтобы подключить сетевой диск к устройству K:, нужно быть уверенным, что с этой буквой уже не связан сетевой диск (иначе произойдет ошибка). Поэтому предварительно отключается сетевой диск с помощью метода RemoveNetworkDrive:

WshNetwork.RemoveNetworkDrive(Drive);

(переменной Drive заранее было присвоено значение "K:"). При выполнении этой команды может произойти ошибка времени выполнения (например, диск K: не существует или возникла ошибка при отключении связанного с ним сетевого ресурса), поэтому вызов метода

RemoveNetworkDrive
помещается внутрь блока try конструкции
try…catch
языка JScript, которая позволяет обрабатывать такие ошибки:

try {

 //Отключаем сетевой диск

 WshNetwork.RemoveNetworkDrive(Drive);

} catch (e) { //Обрабатываем возможные ошибки

if (е.number != 0) {

 //Выводим сообщение об ошибке

 IsError=true;

 Mess="Ошибка при отключении диска "+Drive + "\nКод ошибки: "+

е.number+"\nОписание: " + е.description;

 WshShell.Popup(Mess, 0, "Отключение сетевого диска", vbCritical);

 }

}

Теперь в случае возникновения ошибки при работе метода

RemoveNetworkDrive
управление передастся внутрь блока
catch
,
а в полях переменной-объекта е будет содержаться информация о произошедшей ошибке (
е.number
— числовой код ошибки,
е.description
— краткое описание ошибки); эта информация отображается в диалоговом окне (рис. 2.23).

Рис. 2.23. Информация об ошибке, произошедшей при отключении диска K:

Если же отключение диска K: прошло успешно, на экран выводится диалоговое окно с информацией об этом (рис. 2.24):

if (!IsError) { //Все в порядке

 Mess="Диск "+Drive+" отключен успешно";

 WshShell.Popup(Mess, 0, "Отключение сетевого диска", vbInformation);

}

Рис. 2.24. Информация об успешном отключении диска K:

Аналогичный блок

try…catch
используется и при подключении сетевого диска:

try {

 //Подключаем сетевой диск

 WshNetwork.MapNetworkDrive(Drive, NetPath);

} catch (e) {

 //Обрабатываем возможные ошибки

 if (e != 0) {

//Выводим сообщение об ошибке

IsError=true;

Mess="Ошибка при подключении диска " + Drive + " к " + NetPath+

"\nКод ошибки: "+е.number + "\nОписание: "+е.description;

WshShell.Popup(Mess, 0, "Подключение сетевого диска", vbCritical);

Если, например, пользователь, который подключает сетевой диск, не имеет соответствующих прав доступа к сетевому ресурсу, то на экран выведется диалоговое окно, изображенное на рис. 2.25.

Рис. 2.25. Информация об ошибке, произошедшей при подключении диска K:

Освобождение локального порта (метод

RemovePrinterConnection
), подключение сетевого принтера к этому порту (метод
AddPrinterConnection
) и обработка ошибок времени выполнения, которые могут возникнуть при этих действиях, производится в сценарии аналогичным образом.

Листинг 2.50. Отключение и подключение сетевых ресурсов (JScript)

/********************************************************************/

/* Имя: MapResources.js */

/* Язык: JScript */

/* Описание: Отключение и подключение сетевых дисков и принтеров */

/********************************************************************/

Поделиться:
Популярные книги

Юлий Цезарь

Фриман Филипп
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Юлий Цезарь

ФЭНТЕЗИ-2004

Пехов Алексей Юрьевич
Фантастика:
фэнтези
5.75
рейтинг книги
ФЭНТЕЗИ-2004

Тихий Дон. Том 1

Шолохов Михаил Александрович
198. Библиотека всемирной литературы
Проза:
советская классическая проза
7.50
рейтинг книги
Тихий Дон. Том 1

Барон. Книга вторая

Первухин Андрей Евгеньевич
6. Ученик
Фантастика:
фэнтези
попаданцы
5.40
рейтинг книги
Барон. Книга вторая

Буря империи

Сай Ярослав
6. Медорфенов
Фантастика:
аниме
фэнтези
фантастика: прочее
эпическая фантастика
5.00
рейтинг книги
Буря империи

111 симфоний

Михеева Людмила Викентьевна
Справочная литература:
справочники
6.00
рейтинг книги
111 симфоний

Колумбы иных миров

Федотова Юлия Викторовна
4. Наемники Судьбы
Фантастика:
фэнтези
9.26
рейтинг книги
Колумбы иных миров

Мир приключений 1986 г.

Булычев Кир
Альманах "Мир приключений"
Фантастика:
научная фантастика
5.00
рейтинг книги
Мир приключений 1986 г.

Русская Доктрина

Аверьянов Виталий Владимирович
Научно-образовательная:
политика
5.00
рейтинг книги
Русская Доктрина

Мечников. Клятва лекаря

Алмазов Игорь
2. Жизнь Лекаря с нуля
Фантастика:
альтернативная история
аниме
фэнтези
попаданцы
6.60
рейтинг книги
Мечников. Клятва лекаря

Петля и камень в зеленой траве

Вайнер Георгий Александрович
Проза:
современная проза
8.59
рейтинг книги
Петля и камень в зеленой траве

Дважды одаренный. Том VI

Тарс Элиан
6. Дважды одаренный
Фантастика:
аниме
альтернативная история
фэнтези
фантастика: прочее
5.50
рейтинг книги
Дважды одаренный. Том VI

Игра Эндера

Кард Орсон Скотт
1. История Эндера
Фантастика:
космическая фантастика
9.39
рейтинг книги
Игра Эндера

НОВОСТИ ИЗ КРЕМЛЯ

Зенькович Николай Александрович
Научно-образовательная:
история
5.00
рейтинг книги
НОВОСТИ ИЗ КРЕМЛЯ