Dr. Tobias Weltner’s SystemScripter 6.02 is a fully-featured VBScript Editor designed for system administrators and IT-pros. Much more than a VBS Editor, he has attempted to make it a complete Windows Scripting toolkit. Today, I’ll be taking it through the paces.
To begin, I headed over to the SystemScripter website and grabbed the download. The install was a standard, straightforward Windows installer.
The website design is a little tricky until you figure out the navigation, but after that you'll unlock a wealth of information. Dr. Weltner walks you step-by-step through all of the program features and usage complete with great instructions and screenshots.
He describes the program as "Visual Studio for WSH." As I mentioned, this editor goes far beyond VBS into the complete realm of Windows Scripting. It emulates Visual Studio in its attempt to act as a full development environment.
Dr. Weltner was also kind enough to provide me with a professional license in order to review the activation process. Activation is very easy and takes only a few seconds. Licenses are also transferable from one computer to another. Simply remove a license before uninstalling the app and use the same key to activate the next machine.
If you forget to remove your activation before uninstalling the application, you can also transfer it from the SystemScripter website.
Now that I had the application installed and running it was time to delve into its many features. The web site does a lot of boasting. I wanted to see if the functionality stood up to all of the hype. To put it through the paces, I first walked through the site's tutorials and then set out to develop my own script.
Like any standard editor, SystemScripter has text highlighting to make reading and editing your code easier. It allows you to quickly see what a piece of code is. Text strings appear in red; comments appear in green. Functions and subroutines are displayed in bold text.
It also has a very thorough AutoComplete system as well. If you begin typing a function or subroutine name, the AutoComplete will show you the syntax for the current method and a drop-down will appear offering quick insertion for variables, objects, and properties.
Can't remember the name of your function? Simple. Just type as much as you know (even if it's just a few letters) and press the Tab key. The AutoComplete drop-down appears with all valid entries that match what you've typed.
Custom functions and subroutines along with all created variables are added to the AutoComplete list automatically. Talk about a time saver! You can literally write a dozen lines of code very quickly in just a few keystrokes.
Don't worry about formatting either. SystemScripter will automatically take care of capitalization and code structure. It even takes care of closing parenthesis, quotation marks, subroutines, and loops.
Brace matching will also help you to ensure you code is good. Place the cursor next to one of these items and its pair will be highlighted for you. This is a particularly nice feature to use when nesting these characters.
Any time you make a mistake such as a syntax error or using an undefined object, your code line will be marked with a red underline and an exclamation point will appear in the sidebar next to that line. Clicking the icon will navigate the context sensitive help pane to the source of the problem. No more wondering what went wrong.
Additional help is always at your fingertips. SystemScripter has the most efficient built-in help system I've ever seen in an editor. It includes a full, searchable VBScript language reference.
The help system also provides quick access to a number of online resources including Microsoft's knowledge base as well as their MSDN site.
One of the most painful parts of writing large pieces of code is getting lost. Being able to see different parts of your code at the same time and being able to quickly move back and forth between code segments is a must for any good editor. SystemScripter does this with ease.
A plus sign will automatically appear next to code blocks. A quick mouse click is all it takes to collapse the code block and open up more viewing area. You can even select your own custom segments and turn them into a collapsible region from the context menu.
In many cases it becomes necessary to jump around in your code. This happens especially often in longer, more detailed scripts.
Finding a particular spot in your code is very easy as well. A drop-down box in the toolbar makes it very easy to navigate between different code blocks in your script so finding that subroutine is never a problem.
SystemScripter also provides very advanced screen splitting features. Your screen can be split horizontally, vertically, or multiple combinations of both to allow side-by-side viewing of open documents. Each open document can also be split the same way to allow viewing of different parts of the same document at the same time. And don't worry, each open pane will update automatically as you type!
This is by far the most comprehensive, easy-to-use screen splitting/multiplying feature I've seen in any editor or word processor. I'm not even going to post a screen shot. You really need to try this feature out for yourself to feel the full power of it.
Writing code gets even easier when using snippets and solutions. The program contains well over 1,000 prewritten, reusable code snippets for many common scripting tasks. You can access code snippets at any time by pressing F12. Follow the menu structure down to determine what type of script you need and then simply choose the task you'd like to complete. The necessary code is inserted into your script automatically. Any code pieces that require your customization will be clearly highlighted in blue along with full comments.
The Solutions sidebar is a wonderful resource. You can mouse over the tab on the left side of the application to expand it. Click the push pin button if you'd like it to stay open on your screen.
From the Solutions sidebar you have quick access to the local file system, users and groups, and a WMI object browser. You can use these tools to navigate these items in real-time or use them to insert these objects into your script with drag-and-drop.
Next to the Solutions tab you will find the COM tab. This houses a complete real-time COM object browser. This isn't just an ordinary COM browser either. Sure it lists every available COM object on your computer, but it also provides information for each of them!
Double-clicking any item in the COM object browser will provide you with complete details about that object including file versions, names, and CLSIDs. But here's where this COM object browser is different! It also provides you with a complete list of all methods and properties belonging to that object.
SystemScripter has a fully integrated debugging environment for making sure your code is fully tested. Click the run button in the toolbar and see your script's output in the Output pane.
SystemScripter will warn you before executing any script that contains a match to anything on your Dangerous Keywords list. Adding keywords such as "delete" can prevent you from executing a script unintentionally.
If you enable the debugger, you can control your script's execution line by line, jump to other areas of execution, and view or change variables during execution. Click the Variables tab to the right of the screen and quickly see the contents of all of the variables in your script at a glance.
The output pane not only shows the output of your script's execution, but also any errors that are generated. Double clicking the exclamation point icon will bring you to the offending line in your code. In most cases, the context-sensitive help will open to the necessary help file while a balloon tip will show you the actual spot where the error occurred.
After using SystemScripter for several days, I realized that this application was so much more than an editor. There are a number of other extras that I don't even have room to fit into this article such as using or creating signing certificates for your code from within the application.
SystemScripter also comes with several fully built templates for VBScript, ASP, Batch, HTML, and WSF documents. It even has the ability to create encrypted VBS files on the fly. The features in this application are seemingly endless.
I only have two caveats for programmers interested in using this app. The original application was developed in German and there are still a few straggling text strings that are not in English. While I did notice them, it didn't prevent me from using the program in any way and the overall English translation is very good.
The second issue is the application's start-up time. It does take a bit for its initial start-up. This is due to the fact that the application is building its real-time file system and COM libraries. While this is to be expected with features like this, I felt that it still warranted mentioning. Keep in mind that I completely believe the extra few seconds in start-up time are a more than fair trade off for the functionality.
I'd like to thank Dr. Weltner for responding to my request to test this product. It's very evident to me that he has put much time and effort into its development.
In my opinion, this is by far the best, most comprehensive script editor on the planet. I've seen some good editors in the past, but none that came close to providing all of the functionality and features that SystemScripter has to offer.
Whether you're a casual coder or a full time system administrator, I recommend taking this app for a test drive immediately. It sells itself. For its unprecedented functionality and ease of use, I give SystemScripter 6.02 a 10 out of 10! It's quite simply a great product.