Сборник статей по настройке Windows


Windows Script Host (WSH) - работа с сетевым окружением - часть 2


Таким образом мы незаметно подошли к вопросу работы с сетевыми дисками. Для начала, неплохо бы выяснить, какие сетевые диски подключены в данный момент:

//JScript var vbOKOnly = 0; var vbInformation = 64; var WSHShell = WScript.CreateObject("WScript.Shell"); var WSHNetwork = WScript.CreateObject("WScript.Network") var colDrives = WSHNetwork.EnumNetworkDrives(); if (colDrives.length == 0) { WSHShell.Popup("Подключенных сетевых дисков нет", 0, "Работа с WSHNetwork", vbInformation + vbOKOnly ); } else { strMsg = "Текущие сетевые подключения: \n"; for (i = 0; i < colDrives.length; i += 2) { strMsg = strMsg + "\n" + colDrives(i) + "\t" + colDrives(i + 1); }

WSHShell.Popup(strMsg, 0, "Работа с WSHNetwork", vbInformation + vbOKOnly ); }

'VBScript Set WSHNetwork = WScript.CreateObject("WScript.Network") Set colDrives = WSHNetwork.EnumNetworkDrives If colDrives.Count = 0 Then MsgBox "Подключенных сетевых дисков нет", _ vbInformation + vbOkOnly, _ "Работа с WSHNetwork" Else strMsg = "Текущие сетевые подключения: " & Chr(10) For i = 0 To colDrives.Count - 1 Step 2 strMsg = strMsg & Chr(10) & colDrives(i) & Chr(9) & colDrives(i + 1) Next

MsgBox strMsg, _ vbInformation + vbOkOnly, _ "Работа с WSHNetwork" End If

Думаю, подробно код объяснять не стоит, все довольно прозрачно: создаем нужные переменные, проверяем есть ли вообще подключенные диски, если нет - выводим соответствующее сообщение, если есть - выводим их список.

Для подключения и отключения сетевых дисков существуют методы MapNetworkDrive и RemoveNetworkDrive соответственно. Пример работы с ними (на JScript):

WshNetwork.MapNetworkDrive("X:", "\\\\S2\\Vol1", "true", "User1", "123");

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


Начало  Назад  Вперед