KnigaRead.com/

Андрей Попов - Windows Script Host для Windows 2000/XP

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Андрей Попов, "Windows Script Host для Windows 2000/XP" бесплатно, без регистрации.
Перейти на страницу:

IsError=false;

try {

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

В WshNetwork.RemovePrinterConnection(Port);

} catch (e) {

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

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

В  IsError=true;

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

   e.number+"nОписание: "+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+

   "nКод ошибки: "+e.number+"nОписание: "+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"    ' Сетевой путь для подключения диска

Port="LPT1"   ' Название локального порта

' Сетевой путь для подключения принтера

NetPrinter="\104_StepankovaHP"

' Создаем объект WshNetwork

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

' Создаем объект WshShell

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

On Error Resume Next  ' Включаем обработку ошибок времени выполнения

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

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

WshNetwork.RemoveNetworkDrive Drive

If Err.Number<>0 Then

 Mess="Ошибка при отключении диска " & Drive & vbCrLf & _

  "Код ошибки: " &  e.number & vbCrLf &+ _

  "Описание: " & e.description

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

Else

В ' Р’СЃРµ РІ РїРѕСЂСЏРґРєРµ

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

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

End If

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

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

WshNetwork.MapNetworkDrive Drive,NetPath

If Err.Number<>0 Then

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

  "Код ошибки: " & e.number & "Описание: " & e.description

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

Else

В ' Р’СЃРµ РІ РїРѕСЂСЏРґРєРµ

 Mess="Диск " & Drive & " успешно подключен к " & NetPath

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

End If

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

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

WshNetwork.RemovePrinterConnection Port

If Err.Number<>0 Then

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

  e.number & "Описание: " & e.description

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

Else

В ' Р’СЃРµ РІ РїРѕСЂСЏРґРєРµ

 Mess="Порт " & Port & " отключен успешно"

 WshShell.Popup Mess,0,"Отключение порта от сетевого ресурса",_

В  vbInformation

End If

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

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

WshNetwork.AddPrinterConnection Port,NetPrinter

If Err.Number<>0 Then

 Mess="Ошибка при переназначении порта " & Port & " на " & NetPrinter &_

  "Код ошибки: " & e.number & "Описание: " & e.description

 WshShell.Popup Mess,0,"Подключение порта к сетевому ресурсу",vbCritical

Else

В ' Р’СЃРµ РІ РїРѕСЂСЏРґРєРµ

 Mess="Порт " & Port & " успешно подключен к " & NetPrinter

 WshShell.Popup Mess,0,"Подключение порта к сетевому ресурсу",

В  vbInformation

End If

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

Запуск сценариев на удаленных машинах. Контроль за ходом выполнения таких сценариев

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

Такие WSH-сценарии называются удаленными сценариями (remote scripts). При этом файл со сценарием может находиться либо на локальной машине, либо на общедоступном сетевом ресурсе. На жесткий диск удаленной машины файл сценария копироваться не будет — вместо этого текст сценария по коммуникационному протоколу DCOM — Distributed СОМ (распределенный СОМ) передается непосредственно в память процесса, запускаемого на этой машине.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*