|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
9. Работа с сетью: получение информации о пользователе, сетевые диски, сетевые принтерыРабота с сетью из VBScript, объект WshNetwork, свойства ComputerName, UserDomain, UserName, методы MapNetworkDrive(), AddPrinterConnection(), SetDefaultPrinter() Основные возможности работы с сетью можно реализовать при помощи встроенной утилиты NET и утилит, поставляемых в составе Resource Kit и Support Tools. Большинство возможностей WSH реализовано при помощи объекта WScript.Network. Создание этого объекта можно произвести так: Set WshNetwork = WScript.CreateObject("WScript.Network") У созданного объекта - всего три свойства и восемь методов, но они могут оказаться очень полезными. Свойства ComputerName, UserDomain и UserName возвращают, соответственно, имя компьютера, имя домена и имя текущего пользователя. Очень удобно:
Кроме того, можно просто отображать полученную информацию - например, на Web-странице, которая используется в качестве обоев для пользователя. Обратить внимание:
Set WshNetwork = WScript.CreateObject("WScript.Network") sUser = "" Do While sUser = "" sUser = WshNetwork.UserName WScript.Sleep(500) Loop Метод EnumNetworkDrives используется для получения коллекции сетевых дисков на компьютере, MapNetworkDrive - подключение сетевых дисков, RemoveNetworkDrive - удаление сетевого диска. Возможностей гораздо больше, чем у команды NET - в частности, средствами WSH можно проверить наличие уже имеющихся сетевых ресурсов, реализовать обработку ошибок и т.п. Реализация обработки ошибок при подключении к сетевому ресурсу - обязательна. Обычно при помощи специальной функции: Sub ErrCheck (nr) Select Case nr Case 0 ' Все в порядке Case -2147024829 WScript.Echo "Сетевой ресурс не существует" Case -2147024811 WScript.Echo "Диск уже подключен" Case Else WScript.Echo "Другая ошибка" & CStr(nr) End Select End Sub Далее подключение выглядит так: On Error Resume Next WshNetwork.MapNetworkDrive "Z:", "\\London\Setup", true ErrCheck Err.Number true означает - сохранить информацию о подключении в профиле пользователя (сделать подключение постоянным). Кроме того, в качестве необязательных параметров можно передать имя пользователя и пароль для подключения. Конечно, в функцию ErrCheck, помимо Echo, можно включить и другую обработку ошибок. В некоторых ситуациях для исключения ошибок можно сделать так: On Error Resume Next WSHNetwork.RemoveNetworkDrive "Z:" WshNetwork.MapNetworkDrive "Z:", "\\London\Setup", true Теперь о том, что нельзя сделать при помощи утилиты NET: как подключить сетевой принтер. Работа с принтерами - при помощи методов AddPrinterConnection, AddWindowsPrinterConnection, EnumPrinterConnections, RemovePrinterConnections, SetDefaultPrinter. Конечно, и в этом случае лучше реализовать обработку ошибок. Выглядеть она может так: On Error Resume Next WshNetwork.AddPrinterConnection "LPT1", \\London\HP5LJ On Error GoTo 0 'Отключить обработку ошибок On Error Resume Next Обратить внимание:
После установки принтера можно назначить его принтером по умолчанию: WshNetwork.SetDefaultPrinter "\\London\HP5LJ" Дополнительные утилиты из набора Resource Kit:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||