Мои Конспекты
Главная | Обратная связь


Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Сетевые диски



Для работы с сетевыми дисками Windows Script Host предоставляет несколько методов, которые позволяют получать сведения о подключенных сетевых дисках, подключать сетевые диски и отключаться от них.

У объекта WshNetworkимеется методыEnumNetworkDrives и EnumNetworkPrinterConnections,с помощью которых можно создать коллекции, содержащие сведения обо всех подключенных к локальной сети сетевых дисках и сетевых принтерах. Эти коллекции устроены следующим образом: первым элементом коллекции является буква диска или название порта, вторым – сетевое имя ресурса, с которым связан этот диск или принтер. Та же последовательность сохраняется для всех элементов коллекции.

 

EnumNetworkDrives - возвращает список подключенных сетевых дисков.

Синтаксис:

objDrives = object.EnumNetworkDrive

где

object - объект WshNetwork

objDrives - переменная, которой присваивается ссылка на коллекцию сетевых дисков

 

Dim WshNetwork, Drives

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

Set Drives = WshNetwork.EnumNetworkDrives

WScript.Echo "Подключены сетевые диски: "

For i = 0 to Drives.Count - 1 Step 2

WScript.Echo "Диски " & Drives.Item(i) & " = " & Drives.Item(i+1)

Next

MapNetworkDrive - назначает заданную букву сетевому диску.

Синтаксис:

WshNetwork.MapNetworkDrive strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword]

где

strLocalName - назначаемая буква сетевого диска

strRemoteName - удаленное имя

Необязательные параметры:

bUpdateProfile - логическая величина определяющая сохранять ли сделанную настройку в пользовательской конфигурации.

strUser, strPassword - вы можете указать имя и пароль для доступа к диску.

 

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

Set WshNetwork = CreateObject("WScript.Network")

'назначаем сетевой ресурс Server\PublicFiles как сетевой диск Z: WshNetwork.MapNetworkDrive "Z:", "\\Server\PublicFiles"

 

RemoveNetworkDrive - отключает сетевой диск

Синтаксис:

WshNetwork.RemoveNetworkDrive strName, [bForce], [bUpdateProfile]

где:

strName - имя диска

Необязательные параметры:

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

bUpdateProfile - логический параметр, указывающий, сохранить ли сделанную настройку в пользовательском профиле.

VBScript:

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

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

'подключаем сетевой диск Z:

WshNetwork.MapNetworkDrive "Z:", "\\Server\PublicFiles"

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

WshNetwork.RemoveNetworkDrive "Z:"

 

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

Режим обработки исключительных ситуаций в VBScript включается с помощью оператора On Error Resume Next. Если после этого при выполнении какого-либо оператора в сценарии произойдет ошибка, то выполнение передастся следующему оператору в тексте.

Для анализа ошибок используется объект Err. Это стандартный объект VBScript, содержащий информацию о так называемых run-time errors (ошибках времени выполнения). Свойство Source указывает на источник ошибки. Метод Clear очищает свойства объекта, удаляя сведения об ошибке. Помимо Source и Clear у объекта есть и другие свойства и методы, но реально может понадобиться, пожалуй, свойство Number и Description. Number возвращает код произошедшей ошибки, а Description ее описание.

Для отмены режима обработки исключений служит оператор On Error Goto 0.

Пример сценария с обработкой исключений :

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

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

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

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

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

On Error Resume Next

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

WshNetwork.RemoveNetworkDrive "Z:"

If Err.Number<>0 Then

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

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

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

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

Else

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

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

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

End If