Работа с ресурсами локальной сети

Работа с локальной сетью

При работе с локальной сетью наиболее часто решаются следующие задачи:

- организация общих сетевых ресурсов;

- подключение пользователей к ресурсам;

- организация резервного копирования с одного компьютера в сети на другой.

Для доступа к сетевым ресурсам используются сетевые путив следующем формате:

\\Имя_компьютера\Имя_ресурса[\Имя_папки\...\Имя_файла]

Например, на сервере с сетевым именем Server1 имеется общедоступный принтер с сетевым именем Epson, то путь к нему указывается так: \\Server1\Epson.

Если на этом же компьютере имеется общедоступная папка Programs, то путь к ней выглядит как \\Server1\Programs, а путь к файлу в этой папке, например, так: \\Server1\Programs\Corel\Coreldrv.exe

Для работы с сетевой папкой, расположенной на сервере Global, необходимо задать путь:

\\Global\Имя_папки

Объект WshNetwork

Объект WshNetwork используется для работы с сетью, установки конфигурации сетевого среды - а именно для управления сетевыми дисками и принтерами.

Через объект WshNetwork можно получить информацию о локальном компьютере, подключаться к дискам и принтерам в сети, устанавливать принтер по умолчанию и отключаться от сетевых дисков и принтеров.

Для его использования объект нужно создать.

Set WshNetwork = CreateObject("WScript.Network")

Для получения информации о компьютере, можно получить его сетевые атрибуты: имя пользователя, имя компьютера и его домен.

Свойства объекта WshNetwork:

Свойство Описание
ComputerName Имя компьютера
UserDamain Домен
UserName Имя пользователя

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

Для работы с сетевыми дисками 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 Info,0,"Отключение сетевого диска",vbInformation

End If

Работа с принтерами

Подобно работе с сетевыми дисками, WSH предоставляет для работы с сетевыми принтерами по сути те же методы.

EnumPrinterConnections – возвращает список подключенных принтеров

Синтаксис:

objPrinters = object.EnumPrinterConnections

где

object - объект WshNetwork

objPrinters - ссылка на коллекцию принтеров

AddPrinterConnection – подключает сетевой принтер.

WshNetworkt.AddPrinterConnection strLocalName, strRemoteName [,bUpdateProfile [,strUser][,strPassword]

где

strLocalName – назначаемое подключенному принтеру имя

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

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

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

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

Set WshNetwork = CreateObject("WScript.Network")

WshNetwork.AddPrinterConnection "LPT1", “Server\\LaserJet1”

RemovePrinterConnection – отключат сетевой принтер.

Синтаксис:

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

где:

strName - имя диска

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

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

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

Set WshNetwork = CreateObject("WScript.Network")

WshNetwork.RemovePrinterConnection "LPT1:"

Кроме методов, подобных методам для работы с сетевыми дисками Windows Scripting Host для работы с принтерами предоставляет еще несколько.

AddWindowsPrinterConnections – устанавливает новый принтер в Windows.

Синтаксис:

WshNetwork.AddWindowsPrinterConnection(strPrinterPath)

где

strPrinterPath - путь к принтеру

Set WshNetwork = CreateObject("WScript.Network")

PrinterPath= "\\printserv\DefaultPrinter"

WshNework.AddWindowsPrinterConnection(PrinterPath)

SetDefaultPrinter – устанавливает принтер по умолчанию

Синтаксис:

object.SetDefaultPrinter strPrinterName

где

object - объкт WshNetwork

strPrinterName - удаленное имя принтера

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

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

WshNetwork.AddPrinterConnection "LPT1:", “\\Server\\Prnt1”

‘подключаем к системе сетевой принтер

WshNetwork.SetDefaultPrinter "LPT1:"

‘задаем его принтером по умолчанию

Практическое задание

3.1. Создайте с помощью Блокнота файл, выводящий сообщение. Например, введите текст: WScript.Echo "Это первый сценарий"

3.2. Сохраните файл с любым из допустимых расширений (vbs).

3.3. Запустите сценарий на выполнение в диалоговом режиме и режиме командной строки.

3.4. Задайте настройки для сценария, для чего выполните следующие действия. Щелкните на нем правой кнопкой мыши и в окне свойств файла выберите вкладку “Сценарий”. Измените настройки на этой вкладке, поставив или сняв любой флажок, чтобы кнопка “Вернуть установки по умолчанию” стала доступна. После этого щелкните OK. Появился файл с расширением wsh.

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

3.6. Откроем файл с расширением .wsh с помощью Блокнота. Там будет примерно следующий текст:


[ScriptFile]

Path=C:\Мои документы\Пример1.VBS

[Options]

Timeout=10

DisplayLogo=1

Параметр Path в разделе [ScriptFile] содержит путь к файлу, для которого используется wsh-файл. Настройки в разделе [Options] – это сами настройки, ради которых, собственно и создан файл настройки.

Timeout – определяет время отведенное для выполнения сценария.

DisplayLogo – отвечает за вывод эмблемы Windows Script Host, при запуске в командном режиме. Если изменить его на 0, то эмблема отображаться не будет.

BatchMode – включает/выключает пакетный режим. Если ему присвоить значение 1, то сценарий будет выполнятся в пакетном режиме – без вывода информации на экран и сообщений об ошибках.

3.7. Самостоятельно выполните приведенные в разделе 2 примеры.

3.8. Выберите в таблице вариант заданий.

Создайте файлы сценариев, которые выполняю следующие операции:

  1. Выводит сведения о системе (см. таблицу).
№ варианта Сведения о системе
Операционная система, Директория Windows
Расширенные данные о процессоре, Поколение процессора
Заданные системные пути, директория Windows
Тип процессора, Операционная система
Количество процессоров на данном компьютере, Заданные системные пути
Диск на котором находится директория с операционной системой, Каталог по умолчанию для пользователей
Первый локальный диск, поколение процессора
Путь к файлу командной строки, папка для временных файлов
Тип процессора, заданные системные пути
Заданные системные пути, поколение процессора
  1. Запускает приложение (на Ваш выбор) из пункта меню Стандартные с заданными параметрами (см. таблицу).
№ варианта Стиль окна запускаемого приложения Дожидаться окончания запущенного приложения
Обычный размер в неактивном состоянии, но в фокусе остается запустившее приложение Да
Развернутое на весь экран Да
Запуск в скрытом виде Нет
Запуск в свернутом виде Нет
Запуск в скрытом виде Да
Развернутое на весь экран Да
Запуск в обычном размере (без фокуса) Нет
Развернутое на весь экран Да
Запуск в скрытом виде Нет
Развернутое на весь экран Да
  1. Выводит сведения о путях ко всем специальным системным папкам, информацию о их количестве на данном компьютере. Использовать цикл для работы с семейством WshShell.SpecialFolders.
  2. Создает ярлык для какого-либо приложения, разместив его в заданной папке, с заданным стилем окна (см. таблицу). Установить горячие клавиши, иконку, всплывающую подсказку. В качестве рабочего каталога задать каталог \Temp, для определения точного пути к нему использовать переменную среды %Temp%.
№ варианта Папка для размещения ярлыка Стиль окна
Рабочий стол На весь экран
Избранное Свернутое
Мои документы На весь экран
Избранное Обычное
Рабочий стол Свернутое
Мои документы Обычное
Избранное Свернутое
Рабочий стол На весь экран
Мои документы На весь экран
Избранное Свернутое
  1. Создает ярлык для Web-узла, разместив его произвольной папке.
  2. Выводит информацию о локальном компьютере, на котором работает студент (имя пользователя и имя компьютера.).
  3. Выводит наименования подключенных сетевых дисков и их количество.
  4. Выводит сведения о сетевых принтерах и их количество. Если сетевых принтеров несколько, запросить у пользователя, какой из них следует сделать используемым по умолчанию.
  5. Выполняет попытку подключения сетевого диска с заданным пользователем именем и параметрами. Если подключение прошло успешно, перед завершением работы сценария предложить отключить сетевой диск. Организовать обработку исключительных ситуаций (невозможность подключения и отключения диска).

Наши рекомендации