/*************  Отключение сетевого диска  ***********************/

IsError=false;

try {

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

 WshNetwork.RemoveNetworkDrive(Drive);

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

 if (e != 0) {

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

  IsError=true;

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

   e.number+' Описание: '+e.description;

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

 }

}

if (!IsError) {

 //Все в порядке

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

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

}

/*************  Подключение сетевого диска  ***********************/

IsError=false;

try {

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

 WshNetwork.MapNetworkDrive(Drive,NetPath);

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

 if (e != 0) {

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

  IsError=true;

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

   ' Код ошибки: '+e.number+' Описание: '+e.description;

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

 }

}

if (!IsError) {

 //Все в порядке

 Mess='Диск '+Drive+' успешно подключен к '+NetPath;

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

}

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

IsError=false;

try {

 //Разрываем связь с сетевым принтером

 WshNetwork.RemovePrinterConnection(Port);

} catch (e) {

 if (e != 0) {  //Обрабатываем возможные ошибки

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

  IsError=true;

  Mess='Ошибка при отключении порта '+Port+' Код ошибки: '+

   e.number+' Описание: '+e.description;

  WshShell.Popup(Mess,0,'Отключение локального порта от сетевого ресурса',vbCritical);

 }

}

if (!IsError) {

 //Все в порядке

 Mess='Порт '+Port+' отключен успешно';

 WshShell.Popup(Mess,0,'Отключение локального порта от сетевого ресурса',vbInformation);

}

/*****  Подключение локального порта  к сетевому принтеру  *********/

IsError=false;

try {

 //Подключаем сетевой принтер к локальному порту

 WshNetwork.AddPrinterConnection(Port,NetPrinter);

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

 if (e != 0) {

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

  IsError=true;

  Mess='Ошибка при переназначении порта '+Port+ ' на '+NetPrinter+

   ' Код ошибки: '+e.number+' Описание: '+e.description;

  WshShell.Popup(Mess,0,'Подключение локального порта к сетевому ресурсу',vbCritical);

 }

}

if (!IsError) {

 //Все в порядке

 Mess='Порт '+Port+' успешно подключен к '+NetPrinter;

 WshShell.Popup(Mess,0,'Подключение локального порта к сетевому ресурсу',vbInformation);

}

/*************  Конец *********************************************/

Реализация того же сценария на языке VBScript представлена в листинге 2.51. Главное отличие здесь состоит в способе обработки возможных ошибок времени выполнения. В VBScript для этой цели предназначен оператор On Error Resume Next — при возникновении ошибки после выполнения этого оператора сценарий не прервется, а просто перейдет к выполнению следующей строки кода. Проанализировать же возникшую ошибку можно с помощью специального объекта Err, в полях Number и Description которого будут соответственно содержаться код и описание ошибки.

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

'********************************************************************

' Имя: MapResources.vbs

' Язык: VBScript

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

'********************************************************************

Option Explicit

' Объявляем переменные

Dim WshNetwork,Drive,NetPath,Port,NetPrinter

Drive='K:'   ' Буква диска

NetPath='\RS_NT_Serverd'    ' Сетевой путь для подключения диска

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату