A detailed guide on how to create, manage and run toolbox items in SimpleHelp.
What is a Toolbox?
Toolboxes are groups of configurable tools (similar to scripts) that can be executed on a remote machine during a session, or through the Access tab in the Technician Console. Each tool specifies:
- The command to run on the remote machine.
- Any files and folders that need to be copied to the remote machine prior to launching the command.
- Additional information that helps SimpleHelp know when it can run a command, and what to do with the output.
Toolboxes present a convenient way to automate support tasks using SimpleHelp.
Creating a Toolbox
Toolboxes are created and managed in the Technician Console. Log into SimpleHelp as a technician and switch to the Toolbox tab. Initially you will have no toolboxes setup.
There are two ways to get started with toolboxes:
- Create a New Toolbox - create and configure a new toolbox.
- Import a Toolbox - import a toolbox that has been shared by another technician. Details on how toolboxes are shared is detailed in the Sharing Toolboxes section below.
Create a new toolbox by pressing the Create a New Toolbox button. A new toolbox will appear. You can rename a toolbox at any time by clicking on the name:
Creating a Tool
A toolbox can contain any number of tools. Press the Add a Tool button to create a new tool for your toolbox:
When you create a tool you can provide the following configuration properties.
|Name||The name of this tool. The name will be shown under its toolbox when a tool is to be executed.|
|Target Operating System||Select the target operating system. SimpleHelp uses this information to only present tools that can be run on a particular machine.|
|Resources||A set of individual files or folders that are synchronised with the remote machine before the tool is executed. To add a folder to the Resources section drag the required folder in from the operating system's file browser.|
|Action To Take||Choose whether SimpleHelp should run a single command line, or should instead execute a specified script.|
|Command To Run||The command to run on the remote machine when the tool is executed. The specified command will not be run within a command line interpreter, and will be launched directly. See the section titled Shells, Interpreters and Return Codes below for additional information.|
|Working Directory||The directory in which the resources will be copied, and from where the command will be launched. This is optional, and if omitted a temporary directory will be used.|
|Wait For Tool To Complete||Choose whether SimpleHelp should wait for the launched tool to complete before returning.|
|Success Return Code||Optionally specify the return code which designates that the command has succeeded. SimpleHelp uses this information to indicate success or failure when the tool is run.|
Your new tool will be listed in your toolbox as below:
Shells, Interpreters and Return Codes
When a tool is executed on the remote machine SimpleHelp will not launch it from within any shell or interpreter, unless a particular script is used. Consider the following command executed via a tool on a Windows machine:
The expression *.exe is usually interpreted by the command prompt, and so passing *.exe to the application dir will not have the desired effect. Instead, this command must be interpreted by a command prompt:
cmd.exe /c dir *.exe
Similarly, commands and interpreters are responsible for determining the return code. In particular, PowerShell scripts do not automatically terminate and return once complete. Instead it is up to the user to specify the return code to use by using:
This command returns 1 to SimpleHelp, and can subsequently be interpreted by your tool to determine success or failure.
There are two different ways to share the toolboxes you create with other SimpleHelp users:
- By using the built-in Sharing mechanism, you can easily publicise your tools to other technicians that have access to your SimpleHelp server.
- By exporting your tools you can share the configurations and resources with other users.
You can access the Share options by using the following Share button beside each Toolbox:
Sharing with SimpleHelp Technicians
It is up to the creator of a toolbox to decide whether or not they wish to share the toolbox with other technicians. To share a toolbox press the Share button_. _The technician can now configure how the toolbox is to be shared:
Toolboxes can be shared with technicians in the same group as the creator, or with all technicians. If the toolbox is to be shared then a description can be provided that will be shown to other technicians when the toolbox is imported.
To import a shared toolbox a technician can press the Import button. SimpleHelp will then return a list of shared toolboxes that are visible to this technician. Check the toolboxes that you are interested in importing and they will subsequently be shown in your list of toolboxes.
Exporting and Importing Toolboxes
Toolboxes can be exported to file so that they can be shared and distributed. An exported toolbox will include all tools from within the toolbox, and will also include all tool resources.
Toolboxes can then be imported. An imported toolbox can then be changed or reconfigured if desired.
SimpleHelp allows you to execute tools on a remote machine from within a remote support or remote access session. When a technician starts a new remote support or remote access session the list of toolboxes is presented in the chat panel to the right of the remote desktop view:
You can run any tool within a toolbox by clicking on the tool. Once the tool is complete the technician will be able to see the return code, as well as any output that the tool produced.
Batch and Scheduled Tool Runs
SimpleHelp also allows you to batch execute tools across multiple machines concurrently via the Access tab, or run them on a schedule using a Custom Alert.
Since batch execution of toolboxes and custom alerts are Remote Management features, they require a Business license. If you are interested in this functionality please see our Remote Management Guide.
SimpleHelp Scripting API
The SimpleHelp Scripting API is an additional set of capabilities that allows you to do much more within a tool script than just what is available within the scripting language itself.
For example, a powershell or bash script can allow you to do a lot on the machine that it runs on, but our Scripting API allows you to go beyond the local machine, managing remote access machines, accessing server data and functions like cross-machine file transfers, and use powerful additions like user and technician input forms.
See our Toolbox Scripting Guide for more details about how to use the SimpleHelp Scripting API.
The following example commands are provided to illustrate how tools can be specified in SimpleHelp to perform different tasks. The tools are not comprehensive, and often for more advanced functionality scripts should be used instead.
The following tools can be executed on Windows. Note that in most instances cmd.exe /c can be excluded if the tool is configured to run a Batch Script.
Launch an Interactive Command Prompt
cmd.exe /c start cmd.exe /k
cmd.exe /c start cmd.exe /k _<command to launch>_
Launch Services Management Console
cmd.exe /c start services.msc
Open Control Panel
cmd.exe /c control
Restart the Computer
cmd.exe /c shutdown /r /t 0