Beim Scriptomatic handelt es sich um ein ebenso leistungsfähiges wie praktisches Tool, das voll funktionsfähige WMI-Scripte (Windows Management Instrumentation) für Sie erstellt. Alles was dafür nötig ist, sind wenige Mausklicks. Anhand der Scripte können Sie dann täglich anfallende Administrationsaufgaben, zum Beispiel das Einholen von Informationen zu bestimmten Hardwarekomponenten, automatisieren.
(Englischer Originaltitel: The Scriptomatic Tool - Write WMI Scripts Like the Pros!)
Von "The Scripting Guys"
Wahrscheinlich haben Sie, wie die meisten Menschen, schon oft neidvoll aus dem Fenster auf Ihre Kollegen aus der Systemadministration geblickt, die mit ihrem Jaguar oder Porsche in der Firma vorfahren, um sich auf einen Kurztrip nach Monte Carlo vorzubereiten. Und garantiert haben Sie zu sich selbst gesagt: "Mann, ich weiß mindestens so viel über Systemadministration wie diese Typen. Warum habe ich keine tollen Autos, eine Yacht und eine Rolex?"
Tja, wir wollen Sie in ein kleines Geheimnis einweihen. Das liegt daran, dass die Jungs wissen, wie WMI-Scripte geschrieben werden - und Sie nicht.
Ok, das ist natürlich nicht wahr. Die Wahrheit ist: Wenn Sie lernen WMI-Scripte zu schreiben, dann werden Sie wahrscheinlich trotzdem nicht reich und berühmt (warum hat uns das eigentlich keiner erzählt, bevor wie diesen Job angenommen haben?). WMI-Scripte können Ihr Leben als Systemadministrator jedoch sehr viel einfacher machen. Mit WMI-Scripten können Sie viele der mühsamen und sich wiederholenden Arbeiten durchführen, die Sie einen großen Teil des Tages kosten. So bleibt Ihnen viel mehr Zeit, sich mit anderen Dingen zu beschäftigen.
Natürlich denken Sie jetzt wahrscheinlich: "Warum soll ich meine Zeit mit dem Schreiben von WMI-Scripten verschwenden, wenn diese Scripting-Typen schon jedes mögliche WMI-Script geschrieben und im TechNet Script Center veröffentlicht haben?'
Leider müssen wir Sie enttäuschen - haben wir leider nicht. Wenn Sie sich im Script Center umsehen, werden Sie wahrscheinlich als erstes denken. "Wow, so viele Scripte!". Nach dem Sie wieder zu Atem gekommen sind, sagen Sie dann wahrscheinlich: "Moment mal. Wo sind die WMI-Scripte, die Informationen zu Grafikkarten zurückgeben? Wo sind die Scripte für Informationen zu Netzwerkkarten? Wo sind die Scripte für Informationen zu (hier können Sie alles mögliche einsetzen: CPUs, Mainboards, Batterien, USB-Hubs, IDE-Controller, Tastaturen, Monitoren, Soundkarten etc. etc. etc)?'
Wir gestehen: Die Wahrheit ist, wir waren zu faul, all diese Scripte selbst zu schreiben (außerdem sind es einfach zu viele). Wir haben uns allerdings für die nächstbeste Möglichkeit entschieden: Wir haben den patentfreien Scriptomatic entwickelt - ein Tool, mit dem Sie WMI-Scripte auch dann schreiben können, wenn Sie rein gar nichts über WMI wissen. Laden Sie sich den Scriptomatic hier herunter (englischsprachig).
Heißt das, wir raten Ihnen davon ab, WMI zu lernen? Natürlich nicht - wir schreiben sogar an einem Buch, mit dem Sie WMI-Scripting lernen können. Diejenigen unter Ihnen, die WMI von Grund auf lernen möchten, finden hier ein entsprechendes Online-Tutorial (englischsprachig).
Andererseits sind Sie wahrscheinlich sehr beschäftigt. Sie besuchen Webseiten wie das Script Center, weil Sie nicht wirklich die Zeit haben, WMI zu erlernen und sich alleine hinzusetzen und ein WMI-Script zu schreiben. Und genau darum haben wir den Scriptomatic entwickelt. Wenn Sie mit ein paar Einschränkungen leben können, schreibt der Scriptomatic Ihre WMI-Scripte für Sie. Er wäscht außerdem Ihr Auto, bohnert den Fußboden und schneidet Gemüse.
Na gut, WMI-Scripte schreibt er aber wirklich für Sie.
Der Scriptomatic wird von keinem Microsoft-Supportprogramm oder Supportdienst unterstützt. Er steht Ihnen, so wie er ist, zur Verfügung - ohne jegliche Garantie und Gewährleistung. Microsoft schließt weiterhin jegliche Gewährleistung für Mängel oder die Funktion des Scriptomatic aus. Das gesamte Risiko der Verwendung des Scriptomatic und der Dokumentation liegt bei Ihnen. Microsoft, seine Autoren oder jede andere Person, die mit der Erstellung, Produktion oder Bereitstellung der Scripte zu tun hat, sind für Schäden, egal welcher Art (inklusive, jedoch nicht ausschließlich, Schäden durch entgangene Einnahmen, Störungen des Geschäftsbetriebs, Verlust geschäftlicher Informationen oder Vermögensschäden), die aus der Nutzung oder nicht möglichen Nutzung des Scriptomatic, der Beispielscripte oder der Dokumentation entstehen, nicht verantwortlich - und zwar auch dann nicht, wenn Microsoft die Möglichkeit solcher Schäden bekannt war.
Bevor wir irgendetwas anderes machen, lassen Sie uns kurz klären, was der Scriptomatic ist und was er macht. Der Scriptomatic ist eine Hypertext-Anwendung - das ist im Prinzip eine Webseite, die die Dateierweiterung .HTA verwendet. Wenn Sie ihn starten, lädt er automatisch die Namen von ausgewählten WMI-Klassen (zum Beispiel Win32_SoundDevice und Win32_NetworkAdapter) in ein Kombinationsfeld (das ist eines der bekannten normalen Windows-Felder, die man aufmachen kann, um einen Eintrag aus einer Liste auszuwählen). Nach dem Laden des Scriptomatic wählen Sie einfach eine Klasse aus, und Sie erhalten ein Script, das die Informationen aus der gewünschten Klasse zurückgibt.
Anmerkung: Warum ist der Scriptomatic eine Hypertext-Anwendung? Aus zwei Gründen: |
Der Scriptomatic arbeitet nach zwei Prinzipien. Erstens können Sie ihn verwenden, um über WMI Informationen über WMI selbst abzufragen. Das macht im Moment vielleicht nicht sehr viel Sinn für Sie - daher lassen Sie uns es einfach so sagen: Sie können mit dem Scriptomatic ein einfaches Script schreiben, dass die auf einem Computer vorhandenen WMI-Klassen und deren Eigenschaften und Methoden abfragt. Dieses Prinzip ist die eigentliche Idee hinter dem Scriptomatic - er nutzt WMI, um die verfügbaren Klassen abzufragen, er nutzt dann wiederum WMI, um die möglichen Eigenschaften bestimmter Klassen abzufragen, und erstellt dann automatisch ein Script, das Sie verwenden können, um die Werte dieser Eigenschaften abzurufen.
Das zweite Prinzip basiert darauf, dass die meisten WMI-Scripte nach dem gleichen Muster aufgebaut sind (in unserem englischen Tutorial finden Sie eine Beschreibung dieses Musters). Typischerweise werden WMI-Scripte verwendet, um Informationen über irgendetwas abzurufen - zum Beispiel über einen Monitor, eine USV oder eine Festplatte. In den meisten Fällen arbeiten solche Scripte so: Sie verbinden sich mit einem Computer, verbinden sich mit der entsprechenden Klasse und rufen dann die Werte jeder Eigenschaft der Klasse ab. Mit diesem Script-Muster waren wir in der Lage, eine grundlegende Scriptvorlage zu erstellen. Mit dieser können aus den meisten "interessanten" WMI-Klassen Informationen abgefragt werden (was mit "interessant" gemeint ist, wird gleich erklärt).
Wahrscheinlich interessiert Sie das alles jedoch nicht wirklich - oder? Sie wollen den Scriptomatic einfach in Aktion sehen? Kein Problem! Laden Sie die Datei herunter und starten Sie sie. Dann sehen Sie dieses Fenster:

Spektakulär? Bleiben Sie ruhig sitzen - nach ein oder zwei Minuten werden die interessantesten und nützlichsten WMI-Klassen angezeigt. Der Scriptomatic sieht dann so aus:

So, wie schreiben Sie nun ein Script mit dem Scriptomatic? Glauben Sie es oder nicht - hierzu sind nur zwei Schritte nötig. Klicken Sie erstens in das Auswahlfeld mit den verfügbaren Klassennamen und zweitens auf eine Klasse. Der Scriptomatic erstellt dann sofort ein Script wie dieses:

Wie Sie sehen, gibt der Scriptomatic Ihnen automatisch die Werte für jede einzelne Eigenschaft zurück. Das ist Ihnen zu viel? Sie möchten nur den Wert für eine Eigenschaft? Kein Problem: Sie können das Script jederzeit bearbeiten. Löschen Sie einfach die Programmzeilen, die Sie nicht benötigen.
Tipp des Tages: Der Scriptomatic wurde so entwickelt, dass er Informationen über den lokalen Computer zurückgibt. Was aber, wenn Sie Informationen über einen Remotecomputer benötigen? Ganz einfach - die zweite Zeile jedes Scriptomatic-Scriptes sieht so aus: strComputer = '.' Wenn das Script einen Remotecomputer abfragen soll, ändern Sie einfach den Wert '.' in den Namen des Remotecomputers. Wenn Sie zum Beispiel einen Computer mit den Namen MyWebServer abfragen wollen, sieht die zweite Zeile des Scriptes so aus: strComputer = 'MyWebServer' |
Und wenn Sie das Script so praktisch finden, dass Sie es immer wieder verwenden wollen (oder später weiter bearbeiten möchten)? Kein Problem - klicken Sie einfach auf Save und verpassen Sie dem Script einen Namen (stellen Sie sicher, dass Sie die Dateierweiterung .vbs verwenden). Der Scriptomatic speichert unter diesem Namen dann alles, was sich im Textfeld befindet.
Wenn Sie das Script allerdings gleich ausprobieren wollen, klicken Sie einfach auf Run. Es wird ein Befehlszeilenfenster geöffnet, und das Script wird ausgeführt.
Verzichterklärung: Das Ausführen von Scriptomatic-Scripten ist vollkommen sicher. Das einzige, was diese Scripte machen, besteht darin, Informationen zurückzugeben. Keins der erstellten Scripte nimmt irgendeine Konfiguration vor. |
Tipp des Tages Nummer 2: Ursprünglich haben wir den Scriptomatic als schnelle und einfache Möglichkeit zur Scripterstellung entwickelt. Nachdem wir fertig waren, haben wir allerdings festgestellt, dass wir - versehentlich - ein handliches kleines Administrationswerkzeug gebaut haben. |
Wie wir oben schon sagten: Die erstellten Scripte sind vollständig und können sofort verwendet werden. Unten sehen Sie beispielsweise ein Script, das erstellt wird, wenn Sie die Klasse Win32_Registry auswählen (wir gehen davon aus, dass Sie Windows XP verwenden; wenn Sie eine andere Windows-Version verwenden, können die Eigenschaften der Klasse Win32_Registry leicht abweichen):
On Error Resume Next
strComputer = '.'
Set objWMIService = GetObject('winmgmts:\\' & strComputer & '\root\cimv2')
Set colItems = objWMIService.ExecQuery('Select * from Win32_Registry,,48')
For Each objItem in colItems
Wscript.Echo 'Caption: ' & objItem.Caption
Wscript.Echo 'CurrentSize: ' & objItem.CurrentSize
Wscript.Echo 'Description: ' & objItem.Description
Wscript.Echo 'InstallDate: ' & objItem.InstallDate
Wscript.Echo 'MaximumSize: ' & objItem.MaximumSize
Wscript.Echo 'Name: ' & objItem.Name
Wscript.Echo 'ProposedSize: ' & objItem.ProposedSize
Wscript.Echo 'Status: ' & objItem.Status
Next Die Ausgaben des Scriptes sehen so aus:
Caption: Registry CurrentSize: 3 Description: Registry InstallDate: 20011029113047.000000-480 MaximumSize: 41 Name: Microsoft Windows XP Professional|C:\WINNT|\Device\Harddisk0\Partition1 ProposedSize: 41 Status: OK
Ist der Scriptomatic also die Antwort auf all Ihre Bedürfnisse? Nicht ganz. Neben seinen vielen Vorteilen hat der Scriptomatic auch einige Einschränkungen:
| • | Der Scriptomatic verwendet nur eine Untermenge der möglichen Klassen: Es gibt hunderte von WMI-Klassen. Viele sind für Scriptentwickler jedoch nur von geringem Wert - und zwar, weil Sie keine Daten zurückgeben. Hierzu gehören unter anderem viele der CIM-Klassen (zum Beispiel CIM_Service, die keine Daten über die auf einem Computer ausgeführten Dienste zurückgibt). Statt alle Klassen anzuzeigen und Sie die für Sie nützlichen Klassen suchen zu lassen, haben wir die Klassen nach den folgenden Kriterien eingeschränkt: Die Klassen geben Daten zurück, sie befinden sich im Namensraum root\cimV2, und der Klassenname beginnt mit Win32_. So werden circa 98 Prozent der nützlichen und interessanten Klassen abgedeckt, und die Arbeit mit dem Scriptomatic wird viel einfacher. Andererseits bedeutet das natürlich auch, dass 2 Prozent der nützlichen Klassen nicht verwendet werden können (unter Windows Server 2003 sind es mehr, da hier mehr interessante Klassen außerhalb des Namensraumes root\cimv2 liegen). |
| • | Der Scriptomatic gibt nicht die Werte aller Eigenschaften zurück: Wir gestehen es: Bei der Erstellung des Scriptomatic haben wir etwas getrickst. Einige WMI-Eigenschaften werden als Arrays zurückgegeben (die Klasse Win32_Printer hat zum Beispiel eine Eigenschaft Capabilities, die einen Array zurückgibt). Das Durchlaufen eines solchen Arrays hätte zusätzlichen Programmcode erfordert; wir hätten bei jeder Eigenschaft prüfen müssen, ob sie ein Array ist, und dann entsprechenden Programmcode hinzufügen müssen. Das ist zwar keine unlösbare Aufgabe, aber uns fehlt die Zeit dazu. Daher erhalten Sie bei Eigenschaften wie Capabilities aus Win32_Printer keinen Wert zurück. |
| • | Der Scriptomatic interpretiert die Rückgabewerte nicht: Wenn Sie WMI nach dem Status der auf einem Computer ausgeführten Dienste fragen, erhalten Sie Informationen wie diese: |
| • | Der Scriptomatic gibt nur Eigenschaftswerte zurück; er kann nicht zum Ausführen von Methoden verwendet werden: Wenn Sie detaillierte Informationen über die auf einem Computer ausgeführten Dienste benötigen, dann ist der Scriptomatic genau das richtige Tool für Sie. Was aber, wenn Sie einen Dienst anhalten oder starten möchten? Tja, in der momentanen Version ist der Scriptomatic hierzu leider nicht in der Lage - auch wenn dies mit WMI ohne Probleme möglich wäre. Wenn genug Interesse besteht, werden wir jedoch versuchen, diese Funktionalität in zukünftigen Versionen zu integrieren. |
| • | Der Scriptomatic arbeitet nur mit WMI: Das scheint erst einmal keine Einschränkung zu sein, da WMI einfach die Möglichkeit ist, Informationen über einen Computer, die installierte Software, die angeschlossenen Geräte usw. zu erhalten. Was mit WMI aber nicht möglich ist (oder zumindest nicht besonders gut), ist der Zugriff auf Informationen, die in Active Directory gespeichert sind - zum Beispiel Benutzerkonten, OUs oder Sicherheitsgruppen. |
Lassen Sie sich von diesen Einschränkungen nicht abschrecken. Wir haben Sie hier aufgeführt, damit hinterher niemand sagt: "Hey, ihr habt mir nicht erzählt, dass der Scriptomatic nicht.". Der Scriptomatic ist nicht perfekt - aber ziemlich praktisch. Außerdem ist er ein einfacher und spannender Weg, etwas mehr über das Erstellen von WMI-Scripten zu lernen. Und er ist kostenlos! Was wollen Sie also mehr?
Laden Sie den Scriptomatic einfach herunter, und sehen Sie ob, er Ihr Leben etwas einfacher machen kann. Vielleicht machen Sie ja schon heute Abend auf dem Heimweg einen kleinen Zwischenstopp beim Jaguar-Händler?
Supporthinweise
Welche Produktunterstützung bieten wir für den Scriptomatic an? Absolut keine - Sie sind auf sich allein gestellt. Wir sind allerdings auf jeden Fall an Ihrer Meinung und an Vorschlägen für zukünftige Versionen interessiert. Sie erreichen uns unter der Adresse scripter@microsoft.com (bitte nur in englischer Sprache).
Systemanforderungen
Zugegeben, umfangreiche Tests gab es für den Scriptomatic nicht. Die von uns ausgeführten Tests zeigen jedoch, dass er unter Windows XP, Windows 2000 und Windows Server 2003 problemlos funktionieren sollte. Er arbeitet unter Windows NT 4.0, solange hier Service Pack 6.0, Internet Explorer 5.0, WMI und WSH 5.6 installiert sind. Unter Windows 98 mit Internet Explorer 5.0, WMI und WSH 5.6 sollte er ebenfalls funktionieren.
Die "Scripting Guys" sind Bob Wells, Dean Tsaltas, Ethan Wilansky und Greg Stemp.