Cover

Inhalt

Titelei

Impressum

Inhalt

Vorwort

Website für Leser

Über den Autor Dr. Holger Schwichtenberg

Hinweise für den Leser

Schreibweisen in diesem Buch

Hinweise zu den Listings

1 Einführung in den Windows Script Host (WSH)

1.1 Der Windows Script Host

1.2 Scripting versus Programmierung

1.3 Voraussetzungen

1.4 Die Sprache Visual Basic Script

1.5 Das erste Skript

1.6 Scripting im Kommandozeilenfenster

1.7 Das zweite Skript: Versionsnummern ermitteln

1.8 Ein Wort zur Sicherheit

1.9 Wie geht es weiter?

1.10 Fragen und Aufgaben

2 Scripting-Werkzeuge

2.1 Nur zur Not: Notepad

2.2 Einer für alles: PrimalScript

2.3 Der WSH-Spezialist: SystemScripter

2.3.1 Fehlerarten

2.3.2 Start des Debuggers

2.3.3 Funktionen des Microsoft Script Debuggers

2.4 Fragen und Aufgaben

3 Scripting und die Benutzerkontensteuerung

3.1 Benutzerkontensteuerung

3.2 WSH-Skripte arbeiten nicht mit der Benutzerkontensteuerung zusammen

3.3 Lösungen des Problems

3.4 Start aus dem Admin-Konsolenfenster heraus

3.5 Anlegen einer Verknüpfung zu wscript.exe oder cscript.exe

3.6 Benutzerkontensteuerung deaktivieren

3.7 Änderungen der Benutzerkontensteuerung in Windows 8.x und Windows 10 sowie Windows Server 2012 sowie Windows Server 2016

4 Programmieren mit VBScript

4.1 Die Visual-Basic-Sprachfamilie

4.2 Allgemeines zum Arbeiten mit VBScript

4.3 Kommentare

4.4 Literale

4.5 Konstanten

4.5.1 Vordefinierte Konstanten

4.5.2 Definieren eigener Konstanten

4.5.3 Verwenden von Konstanten

4.6 Variablen

4.6.1 Verwendung von Variablen

4.6.2 Datentypen

4.7 Operatoren

4.7.1 Arithmetische Operatoren

4.7.2 Vergleichsoperatoren

4.7.3 Logische Operatoren

4.7.4 Bitweise Operationen

4.8 Bedingungen

4.8.1 If . . . Then

4.8.2 Select Case

4.8.3 Bedingte Ausgaben zur Fehlersuche

4.9 Schleifen

4.9.1 For . . . Next

4.9.2 Do . . . Loop

4.10 Arrays (Variablenmengen)

4.10.1 Eindimensionale Arrays

4.10.2 Mehrdimensionale Arrays

4.11 Eingebaute Funktionen

4.11.1 Eingabehilfen

4.11.2 Ein- und Ausgabefunktionen

4.11.3 Konvertierungsfunktionen

4.11.4 Abs() und Int()

4.11.5 Rnd()

4.11.6 InStr()

4.11.7 Left(), Right() und Mid()

4.11.8 Replace() und Trim()

4.11.9 UCase() und LCase()

4.11.10 Split() und Join()

4.11.11 Date(), Time() und Now()

4.11.12 DateAdd() und DateDiff()

4.11.13 Hour(), Minute(), Second(), Day(), Month(), Year() und WeekDay()

4.11.14 Format(), FormatNumber() und FormatDateTime()

4.11.15 IsDate(), IsNumeric(), IsArray()

4.12 Unterroutinen

4.12.1 Unterroutine ohne Rückgabewert (Prozedur)

4.12.2 Unterroutine mit Rückgabewert (Funktion)

4.13 Benutzerdefinierte Fehlerbehandlung

4.14 Fragen und Aufgaben

5 Programmieren mit Objekten

5.1 Was ist ein Objekt?

5.2 Was ist eine Klasse?

5.3 Objekte haben Beziehungen

5.4 Was ist eine Komponente?

5.5 Wie arbeitet man mit Objekten?

5.5.1 Objektvariablen

5.5.2 Instanziierung eines Objekts aus einer Klasse

5.5.3 Auslesen des Werts eines Attributs

5.5.4 Setzen des Werts eines Attributs

5.5.5 Aufruf einer Methode

5.5.6 Reagieren auf ein Ereignis

5.5.7 Löschen eines Objekts

5.5.8 Duplizieren eines Objekts

5.5.9 Vergleich zweier Objekte

5.5.10 Ermitteln der Klasse, zu der ein Objekt gehört

5.6 Eingabehilfen für Objekte

5.7 Wie erfahre ich, welche Objekte es überhaupt gibt?

5.8 Was passiert, wenn ein Objekt nicht da ist?

5.9 Was ist eine Objektmenge?

5.9.1 For Each . . . Next

5.9.2 Zugriff auf einzelne Objekte in einer Objektmenge

5.9.3 Verändern einer Objektmenge

5.10 Fragen und Aufgaben

6 Komponenten für das Scripting

6.1 WSH Runtime (WSHRun)

6.1.1 Installation

6.1.2 Klassen

6.1.3 Beispiele

6.2 Scripting Runtime (SCRRun)

6.2.1 Installation

6.2.2 Klassen

6.2.3 Objektauswahl

6.2.4 Beispiele

6.3 ActiveX Data Objects (ADO)

6.3.1 Installation

6.3.2 Klassen

6.3.3 Objektauswahl

6.3.4 Beispiele

6.4 Active Directory Service Interface (ADSI)

6.4.1 Installation

6.4.2 Klassen

6.4.3 Hilfsmittel

6.5 Group Policy Management-Komponente (GPMC Objects)

6.5.1 Installation

6.5.2 Klassen

6.5.3 Hilfsmittel

6.5.4 Beispiele

6.6 Windows Management Instrumentation (WMI)

6.6.1 Installation

6.6.2 WMI-Klassen

6.6.3 Scripting-Hilfsklassen für WMI

6.6.4 Objektauswahl

6.6.5 Hilfsmittel

6.7 Microsoft XML (MSXML)

6.7.1 XML-Grundlagen

6.7.2 Installation

6.7.3 Klassen

6.8 Fragen und Aufgaben

7 Datenübergabe und Datenausgabe

7.1 Kommandozeilenparameter

7.1.1 Komplexere Parameter

7.1.2 Kommandozeilenparameter des WSH

7.2 Zugriff auf Datendateien

7.2.1 Zugriff auf CSV-Dateien

7.2.2 Zugriff auf INI-Dateien

7.2.3 Zugriff auf Access-Datenbanken

7.2.4 Zugriff auf XML-Dateien

7.3 Fragen und Aufgaben

8 Scripting des Dateisystems

8.1 Dateien

8.1.1 Auflisten von Dateien

8.1.2 Dateieigenschaften bestimmen

8.1.3 Dateieigenschaften ändern

8.1.4 Anlegen einer Textdatei

8.1.5 Lesen einer Textdatei

8.1.6 Schreiben von Dateien

8.1.7 Umbenennen einer Datei

8.1.8 Kopieren einer Datei

8.1.9 Verschieben einer Datei

8.1.10 Dateien suchen

8.1.11 Suchen in Dateiinhalten

8.1.12 Dateien löschen

8.2 Verzeichnisse

8.2.1 Auflisten eines einzelnen Verzeichnisses

8.2.2 Auflisten eines Verzeichnisbaums

8.2.3 Anlegen eines Verzeichnisses

8.2.4 Verzeichnisattribute bestimmen

8.2.5 Umbenennen eines Verzeichnisses

8.2.6 Löschen von Verzeichnissen

8.2.7 Kopieren von Verzeichnissen

8.2.8 Verschieben von Verzeichnissen

8.2.9 Verzeichnis suchen

8.2.10 Eine Verzeichnisstruktur gemäß einer XML-Datei anlegen

8.2.11 Eine Verzeichnisstruktur in einer XML-Datei dokumentieren

8.3 Papierkorb leeren

8.4 Rechte auf Dateien und Verzeichnisse vergeben

8.5 Laufwerke

8.5.1 Auflisten von Laufwerken

8.5.2 Laufwerkstyp bestimmen

8.5.3 Dateisystemtyp ermitteln

8.5.4 Speicherplatzbelegung anzeigen

8.5.5 Mit einem Netzlaufwerk verbinden

8.5.6 Netzwerkverbindung trennen

8.5.7 Festplattenprüfung (CheckDisk)

8.6 Freigaben

8.6.1 Anlegen von Freigaben

8.6.2 Löschen von Freigaben

8.6.3 Rechte auf Freigaben

8.7 Fragen und Aufgaben

9 Scripting der Benutzerverwaltung

9.1 Benutzerverwaltung für lokale Benutzerkonten

9.1.1 Anlegen eines Benutzerkontos

9.1.2 Umbenennen eines Benutzers

9.1.3 Kennwort eines Benutzers ändern

9.1.4 Anlegen einer Benutzergruppe

9.1.5 Hinzufügen eines Benutzers zu einer Gruppe

9.1.6 Entfernen eines Benutzers aus einer Gruppe

9.1.7 Deaktivieren eines Benutzerkontos

9.1.8 Löschen einer Gruppe

9.1.9 Löschen eines Benutzers

9.2 Active-Directory-Benutzerverwaltung unter Windows Server

9.2.1 Anlegen einer Organisationseinheit

9.2.2 Anlegen eines Organisationseinheitenbaums im Active Directory

9.2.3 Anlegen eines Benutzerkontos

9.2.4 Anlegen von Benutzern aus einer Access-Datenbank

9.2.5 Anlegen einer Benutzergruppe

9.2.6 Hinzufügen eines Benutzers einer Gruppe

9.2.7 Ändern des Kennworts

9.2.8 Umbenennen eines Benutzers

9.2.9 Ändern der Benutzerdaten

9.2.10 Deaktivieren eines Benutzerkontos

9.2.11 Entfernen eines Benutzers aus einer Gruppe

9.2.12 Löschen eines Benutzerkontos

9.2.13 Löschen einer Organisationseinheit

9.3 Fragen und Aufgaben

10 Scripting der Computerverwaltung

10.1 Computer auflisten

10.2 Leistung eines Computers ermitteln

10.3 Computerkonto erstellen

10.4 Computerkonto löschen

10.5 Computer zu Domäne hinzufügen

10.6 Computer umbenennen

10.6.1.1 Schritt 1: Umbenennen im Active Directory

10.6.1.2 Schritt 2: Lokales System umbenennen

10.7 Einen Computer herunterfahren/neu starten

10.8 Fragen und Aufgaben

11 Scripting der Ereignisprotokolle

11.1 Protokolleinträge lesen

11.2 Protokolleinträge schreiben

11.3 Protokolleinträge auswerten

11.4 Datensicherung des Ereignisprotokolls

11.5 Ereignisprotokoll anlegen

11.6 Ereignisprotokoll löschen

11.7 Ereignisprotokoll leeren

11.8 Überwachung von Einträgen

11.9 Fragen und Aufgaben

12 Scripting der Systemdienste

12.1 Auflisten aller Dienste

12.2 Auflisten aller laufenden Dienste

12.3 Status ermitteln

12.4 Starten

12.5 Beenden eines Dienstes

12.6 Neustart eines Dienstes auf mehreren Computern gemäß einer Textdatei

12.7 Anhalten eines Dienstes

12.8 Fortsetzen eines Dienstes

12.9 Daten ändern

12.10 Dienste überwachen

12.11 Fragen und Aufgaben

13 Scripting des Desktops

13.1 Desktop verändern

13.2 Startmenü verändern

13.3 Fragen und Aufgaben

14 Scripting der Registrierungsdatenbank

14.1 Eintrag lesen

14.1.1 Zugriff mit WSHRun

14.1.2 Zugriff mit WMI

14.2 Wert schreiben

14.2.1 Alternative: WMI

14.3 Eintrag anlegen

14.4 Eintrag löschen

14.4.1 Alternative 1: Löschen mit der WSHRun-Komponente

14.4.2 Alternative 2: Löschen mit der WMI-Komponente

14.5 Unterschlüssel auflisten

14.6 Schlüssel anlegen

14.6.1 Alternative: WMI

14.7 Schlüssel löschen

14.7.1 Alternative: Löschen mit der WSHRun-Komponente

14.8 Berechtigungen vergeben

14.9 Fragen und Aufgaben

15 Scripting der Netzwerk-konfiguration

15.1 Festlegen einer statischen IP-Adresse

15.1.1 Besonderheiten

15.2 Standard-Gateway festlegen

15.3 DNS-Server festlegen

15.4 WINS-Server festlegen

15.5 Auf DHCP umstellen

15.6 Fragen und Aufgaben

16 Scripting der Softwareverwaltung

16.1 Installierte Software auflisten (Softwareinventarisierung)

16.2 Software (entfernt) installieren

16.3 Software auf mehreren Computern installieren (gemäß einer XML-Datei)

16.4 Software deinstallieren

16.5 Fragen und Aufgaben

17 Scripting der Prozessverwaltung

17.1 Prozesse auflisten

17.2 Prozesse (entfernt) starten

17.2.1 Prozesse starten mit WScript.Shell

17.2.2 Prozesse starten mit Win32_Process

17.3 Prozesse (entfernt) beenden

17.3.1 Prozesse beenden mit WScript.Shell

17.3.2 Prozesse beenden mit Win32_Process

17.4 Fragen und Aufgaben

18 Scripting der Gruppenrichtlinien

18.1 Informationen über ein einzelnes Gruppenrichtlinienobjekt

18.1.1 Suche nach einem GPO

18.1.2 Informationen über ein GPO

18.1.3 Verknüpfungen auflisten

18.1.4 Das komplette Skript

18.2 Alle Gruppenrichtlinien und ihre Verknüpfungen auflisten

18.3 Eine Gruppenrichtlinie für einen Container auflisten

18.4 Eine Gruppenrichtlinie mit einem AD-Container verknüpfen

18.5 Eine Gruppenrichtlinienverknüpfung löschen

18.6 Eine Gruppenrichtlinie löschen

18.7 Sicherungskopien von Gruppenrichtlinien anlegen

18.8 Sicherungskopien einer Gruppenrichtlinie auflisten

18.9 Wiederherstellung von Gruppenrichtlinien

18.10 Weitere Möglichkeiten

18.11 Fragen und Aufgaben

19 Scripting-Sicherheit

19.1 Bedrohungen durch WSH-Skripte

19.2 Schutz vor bösen Skripten

19.2.1 Globale WSH-Deaktivierung

19.2.2 Sperrung auf Skriptdateiebene

19.2.3 WSH-Skripte signieren

19.2.4 Skriptkontrolle durch Richtlinien für Softwareeinschränkungen

19.3 Schutz vor dem Einblick in den Quellcode

19.4 Ein Skript unter einem anderen Benutzerkontext starten

19.4.1 Benutzerwechsel für ein komplettes Skript

19.4.2 Benutzerwechsel im Skriptablauf

19.5 Fragen und Aufgaben

20 Windows PowerShell (WPS) 5.0

20.1 Vergleich zwischen WSH und PowerShell

20.2 Voraussetzungen und Installation

20.3 PowerShell-Werkzeuge

20.4 PowerShell-Commandlets

20.5 PowerShell-Pipelines

20.6 Ausgaben

20.7 Navigation in Containern

20.8 Hilfe zur PowerShell

20.9 PowerShell-Skripte

20.9.1 PowerShell-Skript-Editoren

20.9.2 Ein Beispiel

20.9.3 Sprachkonstrukte

20.9.4 Skripte ausführen

20.10 Fernausführung von Befehlen (Remoting)

20.11 Zusatzkomponenten und Klassen nutzen

20.12 Zusätzliche PowerShell-Module mit weiteren Commandlets

20.12.1 Module manuell installieren

20.12.2 Module automatisch herunterladen und installieren (ab PowerShell 3.0)

20.12.3 Module auflisten

20.12.4 Module laden

20.13 COM-Komponenten, die man auch im WSH mit VBScript nutzen kann

20.14 .NET-Klassen

20.15 WMI-Klassen

20.15.1 Abruf von WMI-Objektmengen

20.15.2 Fernzugriffe

20.15.3 Filtern und abfragen

20.15.4 Filtern mit Get-WmiObject

20.15.5 Zugriff auf einzelne WMI-Objekte

20.15.6 WQL-Abfragen

20.15.7 Ermittlung der Mitglieder des WMI-Objekts

20.15.8 Umgang mit WMI-Datumsangaben

20.15.9 Zugriff auf Mitglieder von WMI-Klassen

20.15.10 Statische Klassenmitglieder

20.15.11 Werte setzen in WMI-Objekten

20.15.12 Methodenaufrufe mit Invoke-WmiMethod

20.15.13 Liste aller WMI-Klassen

20.15.14 Neue WMI-Instanzen erzeugen

20.15.15 Weitere Möglichkeiten

20.16 PowerShell-Commandlets in Aktion

20.17 PowerShell-Skripte aus der Praxis

20.17.1 Leere Ordner löschen

20.17.2 Fotos nach Aufnahmedatum sortieren

20.17.3 Papierkorb leeren

20.17.4 Freigaben anlegen

20.17.5 Netzwerkkonfiguration

20.17.6 Massenanlegen von Active-Directory-Benutzerkonten

20.17.7 Massenanlegen von IIS-Websites

20.17.8 Massenanlegen von Registry-Schlüsseln

20.17.9 Softwareinstallation

20.17.10 Virtuelles System in Hyper-V anlegen

21 Wie geht es weiter?

A Eingebaute Funktionen in VBScript

A.1 Numerische Funktionen

A.2 Formatierungsfunktionen

A.3 Zeichenkettenfunktionen

A.4 Datums-/Uhrzeitfunktionen

A.5 Array-Funktionen

A.6 Funktionen zur Arbeit mit COM-Klassen

A.7 Systemfunktionen und Ein-/Ausgabe

A.8 Typprüfung und -umwandlung

A.9 Sonstige Funktionen

B Lösungen zu den Übungsaufgaben in diesem Buch

B.1 Lösungen zu Kapitel 1

B.2 Lösungen zu Kapitel 2

B.3 Lösungen zu Kapitel 3

B.4 Lösungen zu Kapitel 4

B.5 Lösungen zu Kapitel 5

B.6 Lösungen zu Kapitel 6

B.7 Lösungen zu Kapitel 7

B.8 Lösungen zu Kapitel 8

B.9 Lösungen zu Kapitel 9

B.10 Lösungen zu Kapitel 10

B.11 Lösungen zu Kapitel 11

B.12 Lösungen zu Kapitel 12

B.13 Lösungen zu Kapitel 13

B.14 Lösungen zu Kapitel 14

B.15 Lösungen zu Kapitel 15

B.16 Lösungen zu Kapitel 16

B.17 Lösungen zu Kapitel 17

B.18 Lösungen zu Kapitel 18

B.19 Lösungen zu Kapitel 20

C Abkürzungsverzeichnis

D Quellen und weiterführende Literatur

Holger Schwichtenberg

Windows Scripting lernen

Von Windows ScriptHost und Visual Basic Script bis zur Windows PowerShell

Der Autor:

Dr. Holger Schwichtenberg, Essen

Alle in diesem Buch enthaltenen Informationen, Verfahren und Darstellungen wurden nach bestem Wissen zusammengestellt und mit Sorgfalt getestet. Dennoch sind Fehler nicht ganz auszuschließen. Aus diesem Grund sind die im vorliegenden Buch enthaltenen Informationen mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Autoren und Verlag übernehmen infolgedessen keine juristische Verantwortung und werden keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieser Informationen – oder Teilen davon – entsteht.

Ebenso übernehmen Autoren und Verlag keine Gewähr dafür, dass beschriebene Verfahren usw. frei von Schutzrechten Dritter sind. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Buch berechtigt deshalb auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen­ und Markenschutz­Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.

Bibliografische Information der Deutschen Nationalbibliothek: Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

Dieses Werk ist urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdruckes und der Vervielfältigung des Buches, oder Teilen daraus, vorbehalten. Kein Teil des Werkes darf ohne schriftliche Genehmigung des Verlages in irgendeiner Form (Fotokopie, Mikrofilm oder ein anderes Verfahren) – auch nicht für Zwecke der Unterrichtsgestaltung – reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden.

Lektorat: Sylvia Hasselbach
Copyediting: Petra Kienle, Fürstenfeldbruck
Herstellung: Irene Weilhart
Umschlagdesign: Marc Müller-Bremer, www.rebranding.de, München
Umschlagrealisation: Stephan Rönigk

Print-ISBN 978-3-446-44800-1
E-pub-ISBN 978-3-446-45083-7

Verwendete Schriften: SourceSansPro und SourceCodePro (Lizenz)
CSS-Version: 1.0

Font License Zurück zum Impressum

Copyright 2010, 2012, 2014 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL ----------------------------------------------------------- SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ----------------------------------------------------------- PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. "Reserved Font Name" refers to any names specified as such after the copyright statement(s). "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. TERMINATION This license becomes null and void if any of the above conditions are not met. DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.

Vorwort

Vorwort zur sechsten Auflage (2016)

Liebe Leserinnen, liebe Leser,

mittlerweile gibt es Windows 10 und Windows Server 2016. Aber den Verlag Addison-Wesley, bei dem dieses Buch zehn Jahre lang in fünf Auflagen erschienen ist, gibt es nicht mehr. Nun hat das Buch im Carl Hanser Verlag eine schöne neue Heimat gefunden.

Neu in dieser Auflage ist die Version 5.0 der Windows PowerShell. Zur PowerShell gibt es viele neue Skripting-Beispiele. Ebenso wurde das Buch auf Windows 10 und Windows Server 2016 aktualisiert. Bewusst sind aber nicht alle Bildschirmabbildungen mit diesen neuesten Betriebssystemen gemacht, da das Buch sich weiterhin als von der Betriebssystemversion unabhängiges Werk versteht, das auch Leser anspricht, die nicht die neueste Betriebssystemversion verwenden können oder wollen.

Viel Erfolg mit diesem Buch wünscht Ihnen

Dr. Holger Schwichtenberg

Essen, im Januar 2016

Vorwort zur fünften Auflage (2012)

Liebe Leserinnen, liebe Leser,

das Erscheinen von Windows 8 und Windows Server 2012 nehmen wir zum Anlass für eine erneute Aktualisierung dieses Buchs. Auch hier ist der Windows Script Host weiterhin enthalten und ein wichtiges Werkzeug für die automatisierte Systemadministration.

„Windows Scripting Lernen“ ist das letzte verbliebene Buch zum Windows Scripting Host (WSH) auf dem deutschen Markt.

Neben einigen Aktualisierungen zum WSH (insbesondere hinsichtlich der restriktiveren Vergabe administrativer Rechte in Windows 8) bietet diese 5. Auflage Ihnen vor allem mehr Inhalte zum Thema Windows PowerShell. Behandelt wird die PowerShell 3.0, die in Windows 8 und Windows Server 2012 enthalten ist und auf Windows 7 und Windows Server 2008 (inkl. R2) als Zusatz installierbar ist.

Ich danke Ihnen für Ihre Treue zu diesem Buch.

Dr. Holger Schwichtenberg

Essen, im September 2012

Vorwort zur vierten Auflage (2009)

Liebe Leserinnen, liebe Leser,

das Erscheinen von Windows 7 und Windows Server 2008 R2 nehmen wir zum Anlass für eine Aktualisierung des Buchs. Die weiterhin hohen Verkaufszahlen im Zeitalter von Vista und PowerShell zeigen, dass der Windows Scripting Host (WSH) in den Unternehmen noch aktiv genutzt wird, selbst wenn er in den letzten Jahren keine großen Veränderungen mehr erfahren hat.

Natürlich ist der Markt kleiner geworden. In Deutschland gab es einmal sechs Bücher zum WSH. Von diesen sind nur noch „Windows Scripting Lernen“ und der große Bruder „Windows Scripting“ übrig geblieben.

Mittelfristig wird die PowerShell größere Bedeutung als der WSH erlangen. In diesem Buch gebe ich Ihnen einen Ausblick auf die PowerShell 2.0. Aber dieser Ausblick ist hier bewusst kurz gewählt. In meinen Büchern „Windows Scripting (6. Auflage)“ und „Windows PowerShell 2.0 ‒ Das Praxishandbuch“ (beide bei Addison-Wesley erschienen) gehe ich genauer auf die PowerShell ein.

Ich danke Ihnen für Ihre Treue zu diesem Buch.

Dr. Holger Schwichtenberg

Essen, im Oktober 2009

Vorwort zur dritten Auflage (2007)

Liebe Leserinnen, liebe Leser,

auch mit Erscheinen von Windows Vista und der Windows PowerShell ist der Windows Script Host (WSH) noch aktuell, und er wird es auch für die nächsten Jahre noch bleiben. Windows Vista basiert entgegen früheren Ankündigungen noch nicht auf dem .NET Framework, sondern weiterhin komplett auf dem Component Object Model (COM) und noch älteren C/C++-Techniken. Der WSH und seine COM-basierten Scripting-Komponenten sind also das primäre Instrument für die automatisierte Systemadministration unter Vista.

Die Windows PowerShell, die Microsoft als gemeinsamen Nachfolger von WSH und Windows-Kommandozeilen-Shell ansieht, ist zwar mächtig und einfach, steht aber hinsichtlich des direkt nutzbaren Funktionsumfangs (in Form der Commandlets) noch weit hinter dem WSH zurück. Noch muss man hier in vielen Fällen in die Tiefen von .NET einsteigen. Erst mit kommenden Windows-Versionen und anderen Microsoft-Produkten wird es für die PowerShell einen Funktionsumfang geben, der auch Scripting-Einsteiger anspricht.

Grund genug also, diesem meistverkauften deutschen Scripting-Buch eine neue Auflage zu spendieren. In dieser Neuauflage finden Sie neben vielen kleinen Verbesserungen neue Texte zu folgenden Themen:

Beim Alten geblieben ist die Website, auf der Sie sich registrieren können für die Foren, Zusatz-Downloads und den Newsletter:

http://www.Windows-Scripting.de

Weiterhin viel Spaß beim Skripten wünscht Ihnen

Dr. Holger Schwichtenberg

Essen, im Mai 2007

Vorwort zur zweiten Auflage (2004)

Dass viele Administratoren sich ein Einsteigerbuch zum WSH wünschten, war mir klar, als ich dieses Buch Ende 2002 zusammen mit meinen drei Co-Autoren geschrieben habe. Dass wir damit die Position des Marktführers unter den Scripting-Büchern in Deutschland einnehmen würden, hätte ich nicht erwartet. Natürlich freuen wir uns sehr über die positive Resonanz.

Bereits Ende 2003 ist ein korrigierter Nachdruck erschienen, in dem wir die restlichen kleinen Tippfehler in dem Buch und auf der CD beseitigt haben. Nun liegt eine überarbeitete und erweiterte zweite Auflage vor Ihnen. Komplett neu in diesem Buch sind die Kapitel 16 („Scripting der Gruppenrichtlinien“) und 17 („Sicheres Scripting“).

Herzlich bedanken möchte ich mich bei allen Lesern, die durch ihr Feedback geholfen haben, diese zweite Auflage noch besser zu machen.

Ausdrücklich hinweisen möchte ich Sie auf die Website zu diesem Buch:

http://www.Windows-Scripting.de

Aktuell bietet Ihnen diese Website folgende Informationen und Dienste:

Ich wünsche Ihnen nun viel Erfolg mit diesem Buch und würde mich freuen, Sie auf meiner Website begrüßen zu dürfen!

Dr. Holger Schwichtenberg

Essen, im Mai 2004

Vorwort zur ersten Auflage (2002)

WSH

Zur automatisierten Systemadministration ist der Windows Script Host (WSH) eine sehr mächtige Alternative gegenüber der schon etwas angestaubten Windows-Batch-Programmierung. Unsere Erfahrungen aus Scripting-Schulungen und Beratungsterminen in den letzten vier Jahren haben aber gezeigt, dass es vielen Administratoren schwerfällt, sich in die Welt des Scriptings einzuarbeiten ‒ oft auch gehemmt durch die Tatsache, dass das Scripting zum Bereich Programmierung/Softwareentwicklung gezählt wird.

Zielgruppe

Scripting ohne Vorkenntnisse

„Windows Scripting Lernen“ wendet sich an Administratoren ohne Programmierkenntnisse. Dieses Buch enthält eine schrittweise Einführung in die Entwicklung von Skripten. Auch ohne Vorerfahrung in der Programmierung lernen Sie durch dieses Buch die Möglichkeiten zur automatisierten Administration von Unternehmensnetzwerken mit dem Windows Script Host (WSH), Visual Basic Script und verschiedenen sogenannten COM-Komponenten kennen.

Methodik

Didaktischer Aufbau

Das Buch hat eine didaktische Struktur mit aufeinander aufbauenden Kapiteln. Bewusst wird darauf verzichtet, detaillierte Hintergründe sowie jede Möglichkeit und jede Option vorzustellen. Dieses Buch fokussiert auf das Wesentliche, um Ihnen einen leichten Einstieg in das Windows Scripting zu ermöglichen.

Einführung

Alle grundlegenden Konzepte der Programmierung wie Variablen, Fallunterscheidungen, Schleifen, Fehlerbehandlung und die Arbeit mit Komponenten, Klassen und Objekten werden von Grund auf eingeführt. Außerdem finden Sie eine ausführliche Erklärung zur Installation und Konfiguration der Skripte und Komponenten sowie Hinweise auf mögliche Probleme oder Fehlersituationen.

Die Beispiele sind bewusst einfach gehalten. Dennoch werden Sie lernen, alle wesentlichen Aufgaben der System- und Netzwerkadministration durch Skripte zu lösen. Der deutliche Schwerpunkt dieses Buches liegt nicht auf dem Scripting im Heimeinsatz, sondern auf dem Scripting in Unternehmensnetzwerken. Daher finden Sie hier auch Themen wie das Scripting des Active Directory, der Netzwerkkonfiguration und von Ereignisprotokollen.

Am Ende jedes Kapitels stehen Aufgaben, die Sie einsetzen können, um Ihr Wissen zu vertiefen und praktisch zu üben. Gewisse Wiederholungen sind in diesem Einsteigerbuch übrigens kein Fehler, sondern didaktische Absicht.

Wie Sie dieses Buch lesen sollten

Leseanleitung

Aufgrund des didaktischen Konzepts sollten Sie die ersten fünf Kapitel dieses Buches unbedingt sequenziell in der vorgegebenen Reihenfolge lesen. Ab Kapitel 6 werden dann verschiedene Gebiete des Scriptings aufgabenorientiert behandelt. Die Kapitel 6 bis 16 müssen Sie nicht notwendigerweise sequenziell lesen. Hier können Sie durchaus direkt zu den Kapiteln springen, die Sie besonders interessieren. Die von uns gewählte Reihenfolge beinhaltet aber eine Steigerung im Schwierigkeitsgrad.

Am Ende eines jeden Kapitels gibt es einen Aufgabenteil; die passenden Lösungen stehen zusammenhängend im Anhang, sodass das „Spicken“ etwas erschwert wird.

Weitere Unterstützung im WWW

Website

Als Leser dieses Buches haben Sie Zugriff auf einen zugangsbeschränkten Bereich der deutschen Windows Scripting-Website, die Sie unter http://www.Windows-Scripting.de finden. Ein Service dieser Website ist, dass Sie den Autoren dieses Buches verbliebene Fragen stellen können.

Der große Bruder „Windows Scripting“

Weiterführende Literatur

Im Buchhandel werden Sie einen „großen Bruder“ zu diesem Buch finden, der schon zwei Jahre länger auf dem Markt ist: „Windows Scripting“ geht parallel zu diesem „Windows Scripting Lernen“ bei Addison-Wesley in die dritte Auflage. Dieser Titel aus der WinTec-Reihe ist ein umfassendes Nachschlagewerk zu allen Bereichen der Skriptprogrammierung und richtet sich an Entwickler und Administratoren, die bereits Vorkenntnisse in mindestens einer Programmiersprache besitzen. Wenn Sie nach der Lektüre von „Windows Scripting Lernen“ noch Wissensdurst verspüren, dann sollten Sie zum großen Bruder greifen.

Dank

Mein herzlicher Dank gilt

Ich wünsche Ihnen nun viel Erfolg mit diesem Buch.

Holger Schwichtenberg

Essen, im November 2002

Website für Leser

Zu diesem Buch gibt es eine eigene Website:

http://www.windows-scripting.de

Sie als Leser haben neben den öffentlichen Bereichen auch die Möglichkeit, auf einen geschützten Bereich zuzugreifen, der besondere Informationen enthält:

Downloads: die aktuellen Versionen der in diesem Buch abgedruckten Skripte sowie weitere Skripte und Codebeispiele

Verzeichnis

Inhalt

\Skripte

Alle Skripte aus dem Buch, geordnet nach Kapiteln

\Install

Erweiterungen, Komponenten, Sprachen und Tools für das Windows Scripting (zum Teil als Vollversionen, zum Teil als Demoversionen)

\Weitere Informationen

Dieses Verzeichnis enthält zusätzliche Dokumentationen zu Visual Basic Script, dem WSH und einigen der besprochenen Komponenten.

\Über den Autor

Informationen über den Autor dieses Buchs

Foren: Wenn Sie Fragen haben oder Ihre Meinung zu einem Thema dieses Buchs äußern möchten, dann können Sie hier auf Reaktionen anderer Nutzer hoffen.

Leser-Bewertung: Vergeben Sie Noten für dieses Buch und lesen Sie nach, was andere Leser von diesem Buch halten.

Bug-Report: Melden Sie hier Fehler, die Sie in diesem Buch gefunden haben! Hier können Sie auch nachlesen, welche Fehler anderen nach Drucklegung aufgefallen sind.

Newsletter: Alle registrierten Leser erhalten in unregelmäßigen Abständen einen Newsletter.

Der URL für den Zugang zum Leser-Portal lautet:

http://www.windows-scripting.de/leser

Bei der Anmeldung müssen Sie das Erstzugangskennwort Defiance Skies angeben (Defiance ist eine Science-Fiction-Serie).

Bitte beachten Sie, dass das Leser-Portal eine freiwillige, private Leistung des Autors ist, auf die es keinen Rechtsanspruch gibt.

Über den Autor Dr. Holger Schwichtenberg

Hinweise für den Leser

Schreibweisen in diesem Buch

Alle Skripte sind in nichtproportionaler Schrift geschrieben. Damit Sie Befehle von Fachbegriffen unterscheiden können, sind alle Erwähnungen von Befehlen im Text auch mit nichtproportionaler Schrift ausgezeichnet.

Kursiv gesetzt sind Dateinamen und Pfadangaben sowie Bildschirmelemente wie Registerkarten, Menüeinträge und Schaltflächen.

Wichtige Hinweise und Einschübe sind mit einem grauen Kasten hinterlegt.

Zusätzlich werden vier Symbole verwendet, um Ihre Aufmerksamkeit zu wecken:

Das Achtung-Symbol warnt vor Bugs oder möglichen Schwierigkeiten.

Interessante Hintergrundinformationen werden durch das Hinweis-Symbol gekennzeichnet.

Das Website-Symbol verweist auf die Buch-Website:

www.windows-scripting.de

Dieses Symbol steht für Tipps, die Sie schneller zum Ziel bringen können oder Ihnen helfen, Schwierigkeiten zu vermeiden.

Hinweise zu den Listings

Alle Beispiele in diesem Buch sind in Visual Basic Script geschrieben und im Windows Script Host lauffähig. Als Testplattform wurden der Windows Script Host Version 5.7/5.8 und Visual Basic Script 5.7/5.8 auf Windows XP, Windows Vista, Windows 7, Windows 10, Windows Server 2003 R2, Windows Server 2008 R2, Windows Server 2012 R2 und Windows Server 2016 verwendet.

Jedes Listing beginnt mit einem Listing-Header. Darin finden Sie folgende Informationen:

HINWEIS: Wenn Skripte bei Ihnen nicht laufen, beachten Sie folgende Hinweise:

  • Stellen Sie sicher, dass Sie den WSH 5.7 oder 5.8 und VBScript 5.7 oder 5.8 installiert haben.

  • Vergewissern Sie sich, dass Sie die verwendeten Komponenten in den aktuellsten in diesem Buch beschriebenen Versionen installiert haben.

  • Prüfen Sie, ob es im Skript Angaben (Computernamen, Pfade, Benutzernamen) gibt, die in Ihrem Netzwerk möglicherweise nicht gültig sind.

Es ist möglich, dass Sie trotzdem Probleme haben, weil es diverse Unterversionen auf verschiedenen Windows-Versionen der Scripting-Bausteine gibt, die unterschiedliche Funktionen (und Bugs) haben. Im Zweifel stellen Sie bitte eine Frage auf der Leser-Website.

1Einführung in den Windows Script Host (WSH)