Объект WshNetwork

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

Создание этого объекта можно произвести так:
var WshNetwork = WScript.CreateObject("WScript.Network")

У созданного объекта - всего три свойства и восемь методов, но они могут оказаться очень полезными.

ComputerName

Синтаксис

// Свойство. Только чтение.

WshNetwork.ComputerName

Возвращаемое значение

Строка, имя компьютера.

Пример

var WshNetwork = CreateObject("WScript.Network")
WScript.Echo ( WshNetwork.ComputerName );

UserName

Синтаксис

// Свойство. Только чтение.

WshNetwork.UserName

Возвращаемое значение

Строка, имя пользователя.

var WshNetwork = WScript.CreateObject("WScript.Network")
WScript.Echo ( WshNetwork.UserName );

UserDomain

Синтаксис

// Свойство. Только чтение.

WshNetwork.UserDomain

Возвращаемое значение

Строка, имя домена.

Пример

var WshNetwork = WScript.CreateObject("WScript.Network")
WScript.Echo ( WshNetwork.UserDomain );

EnumNetworkDrives()

Метод EnumNetworkDrives() возвращает коллекцию сетевых дисков. Нечётные элементы содержат UNC-пути сетевых дисков.

Синтаксис

WshNetwork.EnumNetworkDrives()

Параметры

Нет

Пример

var WshNetwork = WScript.CreateObject("WScript.Network"); 
var oDrives = WshNetwork.EnumNetworkDrives(); 
WScript.Echo("Network drive mappings:"); 
for(i = 0; i < oDrives.length; i += 2) 
  { WScript.Echo("Drive " + oDrives.Item(i) + " = " + oDrives.Item(i + 1)); }

EnumPrinterConnections()

Метод EnumPrinterConnections() возвращает коллекцию сетевых принтеров. Нечётные элементы содержат сетевые имена принтеров, чётные - названия локальных портов.

Синтаксис

WshNetwork.EnumPrinterConnections()

Параметры

Нет

Пример

var WshNetwork = WScript.CreateObject("WScript.Network"); 
var oPrinters = WshNetwork.EnumPrinterConnections(); 
WScript.Echo("Network printer mappings:"); 
for(i = 0; i < oPrinters.length; i += 2) 
  { WScript.Echo("Port " + oPrinters.Item(i) + " = " + oPrinters.Item(i + 1)); }

MapNetworkDrive()

Метод MapNetworkDrive() подключает сетевой диск.

Синтаксис

WshNetwork.MapNetworkDrive( LocalName, RemoteName, UpdateProfile, User, Password )

Параметры

LocalName
Строка, локальное имя диска.
RemoteName
Строка, имя сетевого ресурса.
UpdateProfile
Необязательный, число (булево). Если указано true, создаваемое сетевое подключение будет сохранено в профиле пользователя.
User
Необязательный, строка. Имя пользователя, если сетевой диск подключается от пользователя, отличного от текущего.
Password
Необязательный, строка. Пароль пользователя, если сетевой диск подключается от пользователя, отличного от текущего.

Пример

var WshNetwork = WScript.CreateObject("WScript.Network"); 
WshNetwork.MapNetworkDrive ("E:", "\\\\Server\\Public");

RemoveNetworkDrive()

Метод RemoveNetworkDrive() отключает сетевой диск.

Синтаксис

WshNetwork.RemoveNetworkDrive( Name, Force, UpdateProfile )

Параметры

Name
Строка, локальное имя диска (или сетевое имя, если ресурсу не сопоставлена никакая буква).
Force
Необязательный, число (булево). Если указано true, отключение будет произведено вне зависимости от того, используется ресурс в настоящий момент или нет.
UpdateProfile
Необязательный, число (булево). Если указано true, сетевое подключение будет удалено из профиля пользователя.

Пример

var WshNetwork = WScript.CreateObject("WScript.Network"); 
WshNetwork.RemoveNetworkDrive ("E:");

AddPrinterConnection()

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

Синтаксис

WshNetwork.AddPrinterConnection( LocalName, RemoteName, UpdateProfile, User, Password )

Параметры

LocalName
Строка, локальное имя принтера.
RemoteName
Строка, сетевое имя принтера.
UpdateProfile
Необязательный, число (булево). Если указано true, подключение будет сохранено в профиле пользователя.
User
Необязательный, строка. Имя пользователя, если сетевой принтер подключается от пользователя, отличного от текущего.
Password
Необязательный, строка. Пароль пользователя, если сетевой принтер подключается от пользователя, отличного от текущего.

Пример

var WshNetwork = WScript.CreateObject("WScript.Network"); 
WshNetwork.AddPrinterConnection ("LPT1", "\\\\Server\\Print1");

AddWindowsPrinterConnection()

Метод AddWindowsPrinterConnection() подключает сетевой принтер без явного указания локального порта.

Синтаксис

WshNetwork.AddWindowsPrinterConnection( PrinterPath )

Параметры

PrinterPath
Строка, сетевое имя принтера.

Пример

var WshNetwork = WScript.CreateObject("WScript.Network"); 
var PrinterPath = "\\\\printserv\\DefaultPrinter"; 
WshNetwork.AddWindowsPrinterConnection(PrinterPath);

RemovePrinterConnection()

Метод RemovePrinterConnection() отключает сетевой принтер.

Синтаксис

WshNetwork.RemovePrinterConnection( Name, Force, UpdateProfile )

Параметры

Name
Строка, локальное имя принтера (порт), если сетевому ресурсу явно сопоставлен локальный порт. Иначе - сетевое имя принтера. Выбор зависит от того, каким образом осуществлялось подключение принтера.
Force
Необязательный, число (булево). Если указано true, отключение будет произведено вне зависимости от того, используется ресурс в настоящий момент или нет. По умолчанию - false.
UpdateProfile
Необязательный, число (булево). Если указано true, подключение будет удалено из профиля пользователя. По умолчанию - false.

Пример

var WshNetwork = WScript.CreateObject("WScript.Network"); 
var PrinterPath = "\\\\PRN-CORP1\\B41-4523-A"; 
WshNetwork.RemovePrinterConnection(PrinterPath, true, true);

SetDefaultPrinter()

Метод SetDefaultPrinter() делает сетевой принтер принтером по умолчанию.

Синтаксис

WshNetwork.SetDefaultPrinter( Name )

Параметры

Name
Строка, сетевое имя принтера.

Пример

var WshNetwork = WScript.CreateObject("WScript.Network"); 
var PrinterPath = "\\\\research\\library1"; 
WshNetwork.AddWindowsPrinterConnection(PrinterPath); 
WshNetwork.SetDefaultPrinter(PrinterPath);