Выбрать главу

s=s & "Имя машины: " & WshNetwork.ComputerName & vbCrLf

s= s & "Имя пользователя: " & WshNetwork.UserName & vbCrLf

s= s & "Домен: " & WshNetwork.UserDomain

WScript.Echo s

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

Получение списка подключенных сетевых дисков и принтеров

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

В листингах 2.48 и 2.49 приведены сценарии на языках JScript и VBScript соответственно, в которых на экран выводятся диалоговые окна, содержащие информацию о сетевых дисках и сетевых принтерах, подключенных к рабочей станции (рис. 2.22).

Рис. 2.22. Выводимая сценарием ListNetworkResources.js информация о подключенных сетевых ресурсах

Листинг 2.48. Вывод списка подключенных сетевых ресурсов (JScript)

/********************************************************************/

/* Имя: ListNetworkResources.js                                     */

/* Язык: JScript                                                    */

/* Описание: Вывод подключенных сетевых ресурсов (диски и принтеры) */

/********************************************************************/

var WshNetwork,s,NetwDrives,i,NetwPrinters; //Объявляем переменные

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

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

/*****   Вывод списка всех подключенных сетевых дисков  ******/

s="Подключенные сетевые диски:\n\n";

//Создаем коллекцию с данными о подключенных дисках

NetwDrives = WshNetwork.EnumNetworkDrives();

i=0;

while (i<=NetwDrives.Count()-2) {  //Перебираем элементы коллекции

 //В первом элементе коллекции содержится буква диска,

 //во втором - сетевое имя ресурса и т.д.

 s+=NetwDrives(i)+"  "+NetwDrives(i+1)+"\n";

 i=i+2;

}

WScript.Echo(s);  //Выводим сформированные строки на экран

/******   Вывод списка всех подключенных сетевых принтеров  ******/

s="Подключенные сетевые принтеры:\n\n";

//Создаем коллекцию с данными о подключенных принтерах

NetwPrinters = WshNetwork.EnumPrinterConnections();

i=0;

while (i<=NetwPrinters.Count()-2) {  //Перебираем элементы коллекции

 //В первом элементе коллекции содержится названия локальных портов,

 //во втором - сетевое имя принтера и т.д.

 s+=NetwPrinters(i)+"  "+NetwPrinters(i+1)+"\n";

 i=i+2;

}

WScript.Echo(s); //Выводим сформированные строки на экран

/*************  Конец *********************************************/

Листинг 2.49. Вывод списка подключенных сетевых ресурсов (VBScript)

'********************************************************************

' Имя: ListNetworkResources.vbs                                       

' Язык: JScript                                                   

' Описание: Вывод подключенных сетевых ресурсов (диски и принтеры) 

'********************************************************************

Option Explicit

Dim WshNetwork,s,NetwDrives,i,NetwPrinters  ' Объявляем переменные

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

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

'********   Вывод списка всех подключенных сетевых дисков   *********

s="Подключенные сетевые диски:" & vbCrLf & vbCrLf

' Создаем коллекцию с данными о подключенных дисках

Set NetwDrives = WshNetwork.EnumNetworkDrives()

i=0

While i<=NetwDrives.Count()-2  ' Перебираем элементы коллекции

 ' В первом элементе коллекции содержится буква диска,

 ' во втором - сетевое имя ресурса и т.д.

 s=s & NetwDrives.Item(i) & "  " & NetwDrives.Item(i+1) & vbCrLf

 i=i+2

Wend

WScript.Echo s   ' Выводим сформированные строки на экран

'********    Вывод списка всех подключенных сетевых принтеров    *******

s="Подключенные сетевые принтеры:" & vbCrLf & vbCrLf

' Создаем коллекцию с данными о подключенных принтерах

Set NetwPrinters = WshNetwork.EnumPrinterConnections()

i=0

While i<=NetwPrinters.Count()-2   ' Перебираем элементы коллекции

 ' В первом элементе коллекции содержится названия локальных портов,