Windows XP Annoyances Free Open Book

Windows XP Annoyances

Previous PageNext Page

9.6 Networking with Scripts

VBScript has a few limited networking functions built in that can be used for mapping network drives and connecting to network printers. For advanced network functionality (such as communication and network traffic monitoring), you'll have to look into a different scripting language. For more information on networking, see Chapter 7.

The following routines provide access to some of the more useful network-related functions in VBScript.

The following function checks a given drive letter to see if it has already been mapped. It returns True (-1) if the drive letter has been mapped, False (0) if it hasn't:

Function AlreadyMapped(DriveLetter)
  Set WshShell = WScript.CreateObject("WScript.Shell")
  Set WshNetwork = WScript.CreateObject("WScript.Network")
  Set AllDrives = WshNetwork.EnumNetworkDrives(  )

  If Left(DriveLetter,1) <> ":" then DriveLetter = DriveLetter & ":"
  ConnectedFlag = False
  For i = 0 To AllDrives.Count - 1 Step 2
    If AllDrives.Item(i) = UCase(DriveLetter) Then ConnectedFlag = True
  Next

  AlreadyMapped = ConnectedFlag
End Function

This subroutine maps a drive letter to any valid remote path:

Sub MapNetDrive(DriveLetter, RemotePath)
  Set WshShell = WScript.CreateObject("WScript.Shell")
  Set WshNetwork = WScript.CreateObject("WScript.Network")
  WShNetwork.MapNetworkDrive DriveLetter, RemotePath
End Sub

This subroutine maps an unused printer port (e.g., LPT3) to any valid remote network printer:

Sub MapNetPrinter(Port, RemotePath)
  Set WshShell = WScript.CreateObject("WScript.Shell")
  Set WshNetwork = WScript.CreateObject("WScript.Network")
  WshNetwork.AddPrinterConnection Port, RemotePath
End Sub

This subroutine removes the mapping for a previously mapped drive letter:

Sub UnMapNetDrive(DriveLetter)
  Set WshShell = WScript.CreateObject("WScript.Shell")
  Set WshNetwork = WScript.CreateObject("WScript.Network")
  WShNetwork.RemoveNetworkDrive DriveLetter
End Sub

This subroutine removes the mapping for a previously mapped network printer:

Sub UnMapNetPrinter(Port)
  Set WshShell = WScript.CreateObject("WScript.Shell")
  Set WshNetwork = WScript.CreateObject("WScript.Network")
  WshNetwork.RemovePrinterConnection Port
End Sub

The following script serves as an example for these subroutines. It's used to map a network drive if it's not already mapped or to disconnect a currently mapped drive. The previous routines are required.

DriveLetter = "N:"
RemotePath = "\\server\c"

If AlreadyMapped(DriveLetter) then
  Call UnMapNetDrive(DriveLetter)
  Msgbox "Drive " & DriveLetter & " disconnected."
Else
  Call MapNetDrive(DriveLetter, RemotePath)
  Msgbox "Drive " & DriveLetter & " connected."
End if

This script requires no user interaction once it has been executed and displays only a single confirmation message when it's done. The first two lines contain the drive letter and network path to be mapped together. Then, the AlreadyMapped function is used to determine if the drive mapping already exists. The script then maps or disconnects the drive, depending on what's needed.

Previous PageNext Page


     Main Menu
Cover
Copyright
Preface
Chapter 1. Making the Most of Windows XP
Chapter 2. Basic Explorer Coping Skills
Chapter 3. The Registry
Chapter 4. Tinkering Techniques
Chapter 5. Maximizing Performance
Chapter 6. Troubleshooting
Chapter 7. Networking and Internetworking
Chapter 8. User Accounts and Administration
Chapter 9. Scripting and Automation
9.1 Building a Script with VBScript
9.2 Running Applications from Scripts
9.3 Accessing the Registry from Scripts
9.4 Manipulating Files from Scripts
9.5 Creating Windows Shortcuts and Internet Shortcuts in Scripts
9.6 Networking with Scripts
9.7 Manipulating Internet Explorer from Scripts
9.8 Using Command-Line Parameters in Scripts
9.9 Managing Services with Scripts
9.10 Writing CGI Scripts for a Web Server
9.11 Making a Startup Script
9.12 Deciphering Script Errors
9.13 Finding a Better Editor
9.14 Further Study
9.15 Automating Scripts with Scheduled Tasks
9.16 Wacky Script Ideas
Chapter 10. Installing Windows XP
Appendix A. Setting Locator
Appendix B. BIOS Settings
Appendix C. Command Prompt Crash Course
Appendix D. TCP/IP Ports
Appendix E. Error Messages (Blue Screen of Death)
Colophon


More Books
PHP Hacks
Processing Xml With Java - A Guide To Sax, Dom, Jdom, Jaxp, And Trax
The Koran (Holy Qur'an)
Macromedia Flash 8 Bible
Search Engine Optimization for Dummies
YouTube Traffic
PHP 5 for Dummies
Harry Potter and The Chamber of Secrets
Harry Potter and the Sorcerer's Stone
The Pilgrim's Progress
Wireless Hacks
Flash Hacks. 100 Industrial-Strength Tips & Tools
PayPal Hacks. 100 Industrial-Strength Tips and Tools
Amazon Hacks
Pdf Hacks
The Da Vinci Code
Google Hacks
The Holy Bible
Windows XP For Dummies
Harry Potter and the Half-Blood Prince
Seo Book
Upgrading and Repairing Networks
Macromedia Dreamweaver 8 UNLEASHED
Windows XP Annoyances
Windows XP Hacks
Microsoft Windows XP Power Toolkit
Teach Yourself MS Office In 24Hours
iPod & iTunes Missing Manual
PC Hacks 100 Industrial-Strength Tips and Tools
PC Overclocking, Optimization, and Tuning - 2th Edition
PC Hardware In A Nutshell 3rd Edition
PC Hardware in a Nutshell, 2nd Edition
Upgrading and Repairing PCs
Google for Dummies
MySQL Cookbook
Teach Yourself Macromedia Flash 8 In 24 Hours
PHP CookBook
Sams Teach Yourself JavaScript in 24 Hours
PHP5 Manual
Free Games Paper Airplanes
500 Juegos Gratis 500 Giochi Gratis 500 Jeux Gratuits 500 Jogos Gratis 500 Kostenlose Spiele