WshNetwork is a generic
name for an object that enables you to work with various aspects of the
Windows network environment. You can determine the computer name and
username, you can enumerate the mapped network drives, you can map new
network drives, and more. The next couple of sections show you how to
work with this object.
Referencing the WshNetwork
Object
WshNetwork refers to the Network object exposed via the Automation interface
of WScript. This means you use CreateObject
to return this object, as shown here:
Set objWshNetwork = WScript.CreateObject("WScript.Network")
From here, you use the WshNetwork variable to access the object’s properties
and methods.
WshNetwork Object
Properties
The WshNetwork object
supports three properties:
ComputerName | Returns
the network name of the computer |
UserDomain | Returns
the network domain name of the current user |
UserName | Returns
the username of the current user |
Mapping Network Printers
The WshNetwork object supports several methods for working
with remote printers. For example, to map a network printer to a local
printer resource, use the WshNetwork object’s AddWindowsPrinterConnection
method:
WshNetwork.AddPrinterConnection strPrinterPath
WshNetwork | The WshNetwork
object |
strPrinterPath | The
UNC path to the network printer |
Here’s an example:
Set objWshNetwork = WScript.CreateObject("WScript.Network")
objWshNetwork.AddWindowsPrinterConnection "\\ZEUS\printer"
To remove a remote
printer mapping, use the WshNetwork object’s RemovePrinterConnection
method:
WshNetwork.RemovePrinterConnection strPrinterPath [, bForce] [, bUpdateProfile]
WshNetwork | The WshNetwork
object |
strPrinterPath | The
UNC path to the network printer |
bForce | If True, the resource is removed even if it is
currently being used |
bUpdateProfile | If True, the printer mapping is removed from the user’s
profile |
Here’s an example:
Set objWshNetwork = WScript.CreateObject("WScript.Network")
Mapping Network Drives
The WshNetwork object supports
several methods for mapping network drives. To map a shared network
folder to a local drive letter, use the WshNetwork object’s MapNetworkDrive
method:
WshNetwork.MapNetworkDrive strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword]
WshNetwork | The WshNetwork
object |
strLocalName | The
local drive letter to which the remote share will be mapped (for
example, F:) |
strRemoteName | The
UNC path for the remote share |
bUpdateProfile | If True, the drive mapping is stored in the user’s profile |
strUser | Use this value to
enter a username that might be required to map the remote share (if
you’re logged on as a user who doesn’t have the proper permissions, for
example) |
strPassword | Use
this value to enter a password that might be required to map the remote
drive |
Here’s an example:
Set objWshNetwork = WScript.CreateObject("WScript.Network")
objWshNetwork.MapNetworkDrive "Z:", "\\ZEUS\SharedDocs"
To remove a mapped
network drive, use the WshNetwork object’s RemoveNetworkDrive:
WshNetwork.RemoveNetworkDrive strName, [bForce], [bUpdateProfile]
WshNetwork | The WshNetwork
object. |
strName | The
name of the mapped network drive you want removed. If you use a network
path, all mappings to that path are removed; if you use a local drive
letter, only that mapping is removed. |
bForce | If True, the resource is removed even if it is
currently being used. |
bUpdateProfile | If True, the network drive mapping is removed from the
user’s profile. |
Here’s an example:
Set objWshNetwork = WScript.CreateObject("WScript.Network")
objWshNetwork.RemoveNetworkDrive "Z:"
objWshNetwork.RemovePrinterConnection "\\ZEUS\inkjet"