Windows Scripting lernen - Holger Schwichtenberg - E-Book

Windows Scripting lernen E-Book

Holger Schwichtenberg

0,0

Beschreibung

Systemadministration mit Skripten für alle Windows-Versionen inkl. Windows 10 und Windows Server 2016
Sowohl in großen als auch in kleineren Computernetzwerken gibt es wiederkehrende Aufgaben, die sich durch Skripte automatisieren lassen. Windows bietet mit dem Windows Script Host (WSH) und der Windows PowerShell (WPS) zwei Produkte für diese automatisierte Systemadministration.
Administratoren und Power User ohne Programmierkenntnisse erhalten in diesem Fachbuch eine schrittweise Einführung in die Entwicklung von Windows-Skripten mit dem WSH, Visual Basic Script (VBScript) und verschiedenen so genannten COM-Komponenten sowie der PowerShell.

AUS DEM INHALT//
WSH 5.8, VBScript 5.8: Lernen Sie die Komponenten und Werkzeuge kennen.
Praxislösungen: Erstellen Sie Skripte für Benutzerverwaltung, Active Directory, Gruppenrichtlinien, Computerverwaltung, Desktop, Dateisysteme, Dienste, Registry, Ereignisprotokolle, Prozesse, Hardware, Netzwerkkonfiguration, Softwareverwaltung, Datenbanken, Text-, INI- und XML-Dateien.
Sicherheit: So unterbinden Sie Skripte, signieren digital und verschlüsseln und arbeiten mit der Benutzerkontensteuerung (UAC).
PowerShell 5.0: Erfahren Sie, wie Sie die mächtige Alternative zum WSH nutzen.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 534

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



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.

© 2016 Carl Hanser Verlag Münchenwww.hanser-fachbuch.de

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-Book ISBN 978-3-446-44944-2

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

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

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:

Scripting-Neuerungen in Windows Vista (Kapitel 19)

Einführung in die Windows PowerShell (Kapitel 20)

Prozessverwaltung per Skript, insbesondere die Kommunikation zwischen Skripten und Konsolenanwendungen (Kapitel 16)

Mehr Beispiele zur Verwendung von Text- und XML-Dateien als Ein- und Ausgabedateiformat für Skripte (in mehreren Kapiteln)

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:

Umfangreiches Windows Scripting-Glossar

FAQ zum WSH

Diskussionsforum zum Windows Scripting (Fragen von registrierten Lesern werden von den Autoren dieses Buchs vorrangig beantwortet!)

Verzeichnis von Scripting-Komponenten

Klassenreferenz für die Windows Management Instrumentation (WMI)

Feedback-Fragebogen zu diesem Buch

Aktualisierungen zu den Skripten in diesem Buch (sofern sich technische Änderungen in Windows ergeben oder Verbesserungen von uns oder den Lesern gefunden werden)

Skriptarchiv mit über 200 weiteren WSH-Skripten

Scripting-News und -Newsletter

Und last, but not least: Informationen zu unseren Scripting-Schulungen und zum Support bei Fragen rund um den WSH.

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

meinen Co-Autoren Sven Conrad, Thomas Gartner und Oliver Scheer, die tatkräftig mitgeholfen haben, den umfangreichen Stoff aus dem „Windows Scripting“-Buch auf die „Lernen“-Reihe herunterzubrechen,

Ayşe Aruca und Georg Meindl für ihre kritischen Anmerkungen als Testleser dieses Buches,

meiner Korrektorin Astrid Schürmann, die wieder einmal mit hoher Präzision nicht nur die sprachlichen Fehler aus unserem Text entfernt, sondern uns auch auf inhaltliche Inkonsistenzen hingewiesen hat,

und meiner Lektorin Sylvia Hasselbach für ihre Geduld bei der doch langwierigen Geburt dieses Werks.

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

Studienabschluss Diplom-Wirtschaftsinformatik an der Universität Essen

Promotion an der Universität Essen im Gebiet komponentenbasierter Softwareentwicklung

Seit 1996 selbstständig als unabhängiger Berater, Dozent, Softwarearchitekt und Fachjournalist

Leiter des Berater- und Dozententeams bei www.IT-Visions.de

Leitung der Softwareentwicklung im Bereich Microsoft/.NET bei der 5minds IT-Solutions GmbH & Co. KG (www.5minds.de)

Lehrbeauftragter an den Fachhochschulen in Münster und Graz

60 Fachbücher bei zahlreichen Verlagen und mehr als 800 Beiträge in Fachzeitschriften

Gutachter in den Wettbewerbsverfahren der EU gegen Microsoft (2006 ‒ 2009)

Ständiger Mitarbeiter der Zeitschriften iX (seit 1999), dotnetpro (seit 2000) und Windows Developer (seit 2010) sowie beim Online-Portal heise.de (seit 2008)

Regelmäßiger Sprecher auf nationalen und internationalen Fachkonferenzen (z. B. Microsoft TechEd, Microsoft Summit, Microsoft IT Forum, BASTA, BASTA-on-Tour, .NET Architecture Camp, Advanced Developers Conference, Developer Week, OOP, DOTNET Cologne, VS One, NRW.Conf, Net.Object Days, Windows Forum)

Zertifikate und Auszeichnungen von Microsoft:

Microsoft Most Valuable Professional (MVP)

Microsoft Certified Solution Developer (MCSD)

Thematische Schwerpunkte:

Microsoft .NET Framework, Visual Studio, C#, Visual Basic

.NET-Architektur/Auswahl von .NET-Technologien

Einführung von .NET Framework und Visual Studio/Migration auf .NET

Webanwendungsentwicklung mit IIS, ASP.NET und JavaScript sowie TypeScript

Verteilte Systeme, Webservices, Enterprise .NET

Relationale Datenbanken, XML, Datenzugriffsstrategien

Objektrelationales Mapping (ORM), insbesondere ADO.NET Entity Framework

Windows PowerShell (WPS) und Windows Management Instrumentation (WMI)

Ehrenamtliche Community-Tätigkeiten:

Vortragender für die International .NET Association (INETA)

Betrieb diverser Community-Websites www.dotnetframework.de, www.entwickler-lexikon.de, www.windows-scripting.de, www.aspnetdev.de u. a.

Weblog: www.dotnet-doktor.de

Kontakt: [email protected] sowie Telefon 02 01 64 95 90-0

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)

Lernziele

Dieses Kapitel erklärt einige grundlegende Begriffe zum Windows Scripting und zeigt Ihnen schrittweise die Erstellung von zwei einfachen Skripten auf.

1.1 Der Windows Script Host

DOS-Batch

Microsoft hat die automatisierte Systemadministration lange vernachlässigt. Die Windows-Batch-Kommandozeilensprache ist nicht nur kompliziert, sondern auch nicht mächtig genug für viele Aufgaben der Systemadministration. Die Lücke wurde von Drittanbietern gefüllt, die sich aber mangels Bekanntheit und Marktmacht nicht durchsetzen konnten. Dieses fehlende Durchsetzungsvermögen hatte auch die negative Konsequenz, dass es kaum vorgefertigte Automatisierungslösungen gab.

WSH

Ende der Neunzigerjahre hat Microsoft mit dem Windows Script Host (WSH) endlich eine Alternative zur Windows-Kommandozeilenprogrammierung veröffentlicht. Der WSH ist Teil der sogenannten Active-Scripting-Architektur, zu der auch das Scripting im Internet Explorer und die Active Server Pages (ASP) im Internet Information Server (IIS) sowie zahlreiche andere Microsoft-Produkte gehören. In diesem Einsteigerbuch wird aber nur der WSH behandelt. Mehr über andere Scripting-Hosts und die Gesamtarchitektur erfahren Sie in [].

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!