TOP-Schulungen:
.NET 3.x/4.0-Trainings
ASP.NET-Trainings
C#-Trainings
Visual Basic .NET-Trainings
SQL Server-Trainings
PowerShell-Trainings
SharePoint-Trainings
Aktuelle Bücher
.NET 3.5 Crashkurs
ASP.NET 3.5 Crashkurs
ASP.NET 3.5 mit C#
ASP.NET 3.5 mit VB
Windows Scripting 6.
Windows PowerShell
WSH-Scripteditoren im Vergleich
Letzte Aktualisierung: 24.7.2009
Microsoft selbst liefert keinen echten Editor für den Windows Scripting Host (WSH). Die hauseigene Skript-Entwicklungsumgebungen Visual InterDev bietet nur rudimentäre Unterstütung für WSH-Skripte. Wer mehr Komfort beim Scripting will, muss auf ein kommerzielles Drittanbieterwerkzeug zurückgreifen. Die in der nachfolgenden Tabelle vorgestellten Editoren PrimalScript, SystemScripter und OnScript sind leider keine zufällige Auswahl aus einer umfangreichen Produktpalette; diese drei Editoren sind die einzige Wahl für alle, die regelmäßig Skripte entwickeln. Alle anderen Editoren auf dem Markt bieten keine erwähnenswerten Funktionen für das Windows Scripting mit dem WSH.
|
Kriterium |
Microsoft Visual Interdev (MSVI) |
PrimalScript |
OnScript |
SystemScripter |
|
Unterstützte Skriptsprache |
VBScript und JScript/
JavaScript |
VBScript, JScript/JavaScript,
Windows PowerShell (.ps1), C# Perl, ASP.NET, PowerShellASP, ColdFusion, CSS, Python,
Tcl, ActionScript, LotusScript, Windows Batch, Rexx, KiXtart |
VBScript, JScript, Windows Batch, PerlScript, PythonScript |
Nur VBScript |
|
Benutzerdefinierte
Sprachen |
Ja |
Ja |
Ja |
Nein |
|
Unterstützte
Dokumentenformate |
HTML |
HTML, XML |
HTML (HTA) |
Keine |
|
Unterstützte WSH-
Skriptdateitypen |
.vbs, .js |
.vbs, .js, .wsf, .wsc |
.vbs, .js, .wsf, .wsc,
.pls, .py |
.vbs, .vbe |
|
Unterstützung für
XML-strukturierte Skriptdateien |
Nein |
Ja |
Ja |
Nein |
|
Unterstützung zur
Erstellung von Windows Script Components (.wsc) |
Nein |
Ja |
Ja |
Ja |
|
Farbunterscheidung im
Quellcode |
Ja (konfigurierbar) |
Ja (konfigurierbar) |
Ja (konfigurierbar) |
Ja (nicht konfigurierbar) |
|
Browsing durch
Scripting-Komponenten |
Ja (aber nur über vorher
explizit eingebundene Komponenten) |
Ja (Type Library Browser) |
Ja (Type Library Browser) |
Nein |
|
Suchfunktion über
Scripting-Komponenten |
Ja (aber nur über vorher
explizit eingebundene Komponenten) |
Nein |
Nein |
Ja |
|
Auto-Vervollständigen für
VBScript-Befehle |
Ja |
Ja |
Ja |
Ja |
|
Auto-Vervollständigen für
Bezeichner |
Nein |
Ja |
Ja |
Ja |
|
Auswahl von ProgIDs bei
CreateObject |
Nein |
Ja |
Ja |
Ja |
|
Klassenbrowser für
selbstdefinierte VBScript-Klassen |
Nein |
Ja |
Nein |
Nein |
|
IntelliSense für VBScript-Klassen |
Nein |
Ja |
Ja |
Ja |
|
IntelliSense für
WSH-Objekte |
Ja |
Ja (PrimalSense) |
Ja |
Ja |
|
IntelliSense für andere
COM-Objekte |
Ja, aber nur direkt mit
CreateObject() instanziierte Objekte |
Ja |
Ja |
Ja |
|
IntelliSense für
WMI-Objekte |
Nein |
Nein |
Nein |
Ja |
|
IntelliSense für
ADSI-Objekte |
Nein |
Nein |
Nein |
Teilweise |
|
Bibliothek mit
Code-Fragmenten |
Nein |
Ja |
Nein |
Ja |
|
Assistent für .wsf-Dateien |
Nein |
Ja |
Ja |
Nein |
|
Assistent für .wsc-Dateien |
Nein |
Ja |
Ja |
Nein |
|
Code-Generator für
ADSI-Code |
Nein |
Ja |
Nein (Microsoft Script-O-Matic integrierbar) |
Ja (Active Directory-Browser) |
|
Code-Generator für
WMI-Code |
Nein |
Ja |
Nein (Microsoft Script-O-Matic integrierbar) |
Ja |
| Sonstige Code-Generatoren | Keine | Login-Skripte, WSF-Dateien | ||
|
Codeprüfung während der
Eingabe |
NNein |
Teilweise |
Nein/span> |
Ja |
|
Debugging |
JJa, integrierter Debugger |
Zusatzprodukt PrimalScope 2009 |
Microsoft Script Debugger kann integriert werdeno:p> |
Microsoft Script Debugger
kann integriert werden |
|
WSH-Ausgaben in
Editor-Fenster |
Nein |
Ja |
Ja |
Ja |
|
Fernstart von Skripten |
Nein |
Nein |
Ja (mit OnScript Network
Edition) |
Nein |
|
Skriptsignierung |
Nein |
Ja |
Nein |
Ja |
|
Skriptencoding |
NNein |
Ja |
Nein |
Ja |
|
Quellcodeverwaltung
integrierbar |
Ja, MS SCC API |
Ja, MS SCC API |
Nein |
Nein |
|
Hilfe |
Microsoft Developer
Network Library wird mitgliefert |
Microsoft Developer
Network Library integrierbar. Andere Hilfedateien als
Referenz integrierbar. |
Microsoft Windows Script
Documentation integrierbar für WSH- und Scripting-Sprachreferenz sowie für
Hilfe bei Fehlermeldungen. Andere Hilfedateien als Referenz integrierbar. |
Microsoft VBScript-Hilfe
integrierbar |
|
Sprachversionen |
Deutsch | Englisch |
Englisch |
Deutsch | Englisch |
Deutsch | Englisch |
|
Deutschsprachiger Support |
Ja |
Ja |
Ja |
Ja |
|
Hersteller |
Microsoft Corp. (USA) |
SAPIEN Technologies, Inc.
(USA) |
XLnow (Schweiz) |
Dr. Tobias Weltner
(Deutschland) |
|
Aktuelle Version |
6.0 |
22009 (5.0) |
2.1 |
5.0.530 |
|
PPreis |
Wird von Microsoft nicht mehr neu verkauft |
299 $ |
75$ bzw. 150$ |
59 Euro (Privat) |
|
Kostenloser Supporto:p> |
Nein |
Ja |
Ja |
Ja |
|
Kostenlose |
Produkt wird nicht
weiterentwickelt |
Ja (Unterversionen) |
Ja (Unterversionen) |
Ja (Unterversionen) |
|
Website |
Eingabeunterstützung
Eine entscheidende Funktion für
WSH-Scripteditoren ist die Eingabeunterstützung für die Objektmitglieder, also
die Möglichkeit, die Attribute und Methoden bei Eingabe des Punkts hinter einem
Objektnamen aus einer Liste auszuwählen. Bezüglich dieser wichtigen
Editorfunktion sollen die hier vorgestellten speziellen WSH-Editoren verglichen
werden. Der Vergleich soll anhand von sieben typischen Fällen in der Sprache
VBScript durchgeführt werden. Diese Fälle sind in dem nachstehenden Script
dokumentiert.
' --- Vergleich der Eingabehilfen für Objekte
' 1. Für eingebaute Objekte
' wscript. ?
WScript.Echo "Scripteditoren-Vergleich: Vergleich der Eingabehilfen für Objekte"
' 2. Für direkt instanziierte Objekte
' fso. ?
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
WScript.Echo fso.GetTempName
' 3. Für indirekt instanziierte Objekte
' fo. ?
Dim fo
Set fo = fso.GetFolder("c:")
WScript.Echo fo.Name
' 4. Für Objekte in Schleifen
' fi. ?
Dim fi
For Each fi In fo.Files
WScript.Echo fi.name
Next
' 5. Für Objekte in
With-Statements
' fso. ?
With fso
fso.GetTempName
End With
' 6. Für ADSI-Objekte (WinNT)
' u1. ?
Dim u1
Set u1 = GetObject("WinNT://E02/hs, User")
' DECLARE u1 = WinNT+User
WScript.Echo u1.adspath
' 7. Für ADSI-Objekte (LDAP)
' u2. ?
Dim u2
Set u2 = GetObject("LDAP://E02/CN=Holger
Schwichtenberg,OU=Gf,DC=IT-Visions,DC=local")
' DECLARE u2 = LDAP+user
WScript.Echo u2.adspath
' 8. Für WMI-Objekte
' Drive.?
Dim Drive
Set Drive = GetObject("winmgmts:Win32_LogicalDisk.DeviceID='c:'")
' DECLARE drive = WMI+Win32_LogicalDisk+root\cimv2
WScript.Echo Drive.freespace
' 9. für selbstdefinierte VBS-Klassen
' b. ?
Class Benutzer
Public Name
Public Geb
End Class
Dim b
Set b = New Benutzer
b.Name = "Dr. Holger Schwichtenberg"
b.geb = #1/8/1972#
Listing: TestScript für Eingabeunterstützung in Scripteditoren
Die nachfolgende Tabelle zeigt die
Ergebnisse. Nicht unerwähnt bleiben soll, dass der SystemScripter sein
hervorragendes Ergebnis nur durch die zusätzlichen Deklarationsanweisungen (’DECLARE
...) erreichen kann. Visual
Basic 6.0 kann die gleichen Ergebnisse erzielen, wenn die Objektvariablen mit
As typisiert werden.
|
Editor |
Fall 1 |
Fall 2 |
Fall 3 |
Fall 4 |
Fall 5 |
Fall 6 |
Fall 7 |
Fall 8 |
Fall 9 |
|
Visual InterDev 6.0 |
tlw. |
Ja |
Nein |
Nein |
Nein |
Nein |
Nein |
Nein |
Nein |
|
PrimalScript 2009 |
Ja |
Ja |
Ja |
Ja |
Ja |
Nein |
Nein |
Nein |
Ja |
|
SystemScripter 6.0 |
Ja |
Ja |
Ja |
Ja |
Ja |
Ja |
Ja |
Ja |
Ja |
|
OnScript 1.0 |
Ja |
Ja |
Ja |
Ja |
Ja |
Nein |
Nein |
Nein |
Ja |

