Parse Command Line Argument
When configuring the Monitoring Check or Automated Task (Windows or Mac), it is possible to pass arguments to the script via the Command Line option of the relevant dialog.
These arguments may be used to control the behavior of script or pass the script's target (for example the actions to perform or services to restart).
This has the following advantages over hard-coding the behavior and target in the script as common code can be reused - for example connect to the service manager as well as reducing the number of scripts required thus improving the maintainability of your script library, for example an individual script is not required per service.
The method used to access these arguments varies per scripting language and the following example illustrates the arguments used for DOS Batch, BASH, Perl, PHP, and VBScript.
Script Type | Argument | Notes |
---|---|---|
DOS Batch | %1, %2 etc | %0 is name of script |
Linux shell scripts (BASH) | $1, $2 etc | $0 is name of script |
Dynamic languages (Perl, PHP) | $argc (count) and @argv (array) | |
VBScript | WScript.Arguments.Count | Method gives number of arguments |
WScript.Arguments(0) is first argument etc |
When the Agent runs the script two arguments are always appended to the command line (for debug) and the -logfile logname can be ignored.
Script argument handling (Windows)
For the Windows Agent, script arguments entered in the Script Parameters, Command Line field of the custom Script Check and Automated Task dialog are passed to the script exactly as they would be if entered directly on the device itself.
What do you want to do?
- View the supported script types
- Check the requirements for returning Script results to the UI
- Determine whether the end user can interact with the script
-
Upload the Script to the N-sight RMM UI
- Deploy the Script on one of more devices
- Learn about the Windows Automation Manager
- View script Troubleshooting suggestions
- Read our scripting FAQs