Supporting optional arguments |
 |
By Christa Anderson, Contributor
07 Sep 2005 | SearchWinSystems.com |
 |


|
The named arguments collection has a handy feature by which you can check to see if a particular type of value was entered at all. For example, say you'd like to run a script for a particular user account, but you want to default to the currently logged-in user if no name is provided. You also want the script to let the person running it know which name it's running under -- or that it's running for them if no name was provided. While you could use the Wscript.Network object to return the name of the currently logged-in user, an inattentive administrator might not notice that the script is running on themselves or might not be sure why the script is behaving that way.
So, we'll write the script to check for the existence of a "name" argument. If it exists, the script will report that the script is running for that person. If it does not, the script will report that the script is running for the current user.
Set colNamedArgs = Wscript.Arguments.Named
Select Case colNamedArgs.Exists("name")
Case True Wscript.Echo "This script applies to", colNamedArgs("name")
Case Else Wscript.Echo "Because you did not supply a name, the script will run for the current user."
End Select
To support this, we'll use the Named collection's Exists method. Exists can return a value of True or False.

Scripting School: Windows Script Host arguments

Introduction
Background: Arguments in general
The value of named arguments
Supporting optional arguments
Mixing argument types
Summary
Read Christa's previous columns:
Beginner's guide to scripting
It's time to increase your scripting expertise
Scripting: Connect users to network resources
Scripting School: More on connecting to network resources
Scripting School: Find objects with Windows Scripting Host
| ABOUT THE AUTHOR: |
|
Christa Anderson When Christa Anderson began working with Windows Server operating systems in 1992, she became increasingly interested in finding more efficient and flexible ways of performing routine tasks. Christa has written extensively about administrative scripting and taught technical sessions on the subject at conferences such as Comdex and CeBIT, helping people who had never done any scripting to write their own scripts in half a day. In addition to her interest in scripting Windows management, Christa is an authority on server-based computing and the program manager for Terminal Services licensing in Longhorn. If you have a scripting question for Christa, please e-mail her at scripting@SearchWinSystems.com.
|
|
');
// -->
|
 |
|
 |