Programming the WshNetwork Object
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") objWshNetwork.RemovePrinterConnection "\\ZEUS\inkjet"
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:"