Windows Scripting - Automatisierte Systemadministration mit VB/VBScript und COM/.NET (ISBN 3-8273-1843-2)
(Diese Seite wurde noch nicht auf das neue Layout umgestellt!)

z.Z. keine

Inhaltsverzeichnis  

1 Einführung 33
1.1 Der Automatisierungsbedarf 33
1.2 Die DOS-Batchsprache 34
1.3 Was ist Scripting? 35
1.4 Die Windows Scripting-Architektur 35
1.4.1 Scripting Hosts 37
1.4.2 Scripting Engines 38
1.4.3 COM-Komponenten 40
1.4.4 Intrinsic Objects 42
1.4.5 Werkzeugunterstützung 43
1.5 Scripting-Schnellstart 43
1.5.1 Ein einfaches WSH-Skript 43
1.5.2 Ein komplexeres Skript mit zwei Sprachen für den Internet Explorer 44
1.6 Komponentenüberblick 45

2 Das Component Object Model (COM) 51
2.1 Grundlagen objektorientierter Komponentenarchitekturen 51
2.1.1 Objektorientierung 51
2.1.1.1 Objekte 52
2.1.1.2 Schnittstellen 53
2.1.1.3 Klassen 54
2.1.1.4 Vererbung (Inheritance) 57
2.1.1.5 Beziehungen zwischen Objekten und Klassen 58
2.1.1.6 Objektmodelle 62
2.1.1.7 Polymorphismus 64
2.1.1.8 Dynamische Bindung 65
2.1.2 Der Komponentengedanke 65
2.1.3 Middleware 68
2.1.4 Verfügbare Komponentenarchitekturen 69
2.2 COM-Grundlagen 69
2.2.1 Eigenschaften von COM 70
2.2.2 Von OLE zu COM, DCOM, ActiveX und COM+ 70
2.2.3 COM auf anderen Plattformen 72
2.2.4 COM-Bausteine 73
2.2.5 COM-Dienste 74
2.2.6 Global Unique Identifier (GUIDs) 74
2.2.7 Die Registry als COM-Konfigurationsspeicher 75
2.3 Komponenten, Klassen und Schnittstellen 76
2.3.1 COM-Server und COM-Client 76
2.3.2 Verpackungsform 77
2.3.3 Komponentenarten 78
2.3.4 COM-Klassen 79
2.3.5 COM-Schnittstellen 83
2.3.5.1 Die Grauzone zwischen Klasse und Schnittstelle 84
2.3.5.2 Mangelnde Selbsterkenntnis bei den Schnittstellen 85
2.3.5.3 Bullet-and-Stick-Diagramme 87
2.3.6 Attribute, Methoden, Ereignisse 88
2.4 Statischer Aufruf versus Automation 89
2.5 Typinformationen 92
2.5.1 Interface Definition Language (IDL) 93
2.5.2 Typbibliotheken 96
2.6 COM-Standardschnittstellen 98
2.6.1 Statisches Binden mit IUnknown 99
2.6.2 Automation mit IDispatch 100
2.6.3 Duale Schnittstellen 102
2.6.4 IDispatchEx 103
2.7 Objektorientierte Konzepte in COM 104
2.7.1 Polymorphismus in COM 104
2.7.2 Mehrfachschnittstellen und Versionierung 104
2.7.3 Vererbung 105
2.8 Distributed COM 105
2.8.1 Remote Procedure Call (RPC) 106
2.8.2 DCOM-Protokoll 107
2.8.3 DCOM-Installation und -Konfiguration 108
2.8.4 DCOM im Internet 109
2.9 Objektaktivierung 111
2.9.1 Service Control Manager (SCM) 111
2.9.2 Erzeugung neuer Instanzen 112
2.9.3 Zugriff auf bestehende Instanzen 114
2.9.4 Aktivierungsfehler 117
2.10 Weitere COM-Konzepte 118
2.10.1 COM-Anwendungen 118
2.10.2 COM-Kategorien 120
2.10.3 Structured Storage 121
2.10.4 COM-Sicherheit 121
2.10.5 Scriptlets 126
2.11 Microsoft Transaction Server (MTS) 128
2.11.1 Interception 128
2.11.2 Packages 129
2.11.3 Administration 130
2.11.4 Programmierung 130
2.12 COM+ 131
2.12.1 Änderungen gegenüber dem MTS 131
2.12.2 Neue Dienste in COM+ 132
2.12.3 COM+-Konfiguration 133
2.13 Objektmodelle in COM-Komponenten 134
2.13.1 Bausteine von COM-Objektmodellen 134
2.13.2 Best Practice für Objektmodelle 135
2.13.3 Meta-Objektmodelle 137
2.14 Kritik an COM und bestehenden Komponenten 141
2.14.1 Grundsätzliche Unzulänglichkeiten von COM 142
2.14.2 Schlechte Objektmodelle 143
2.14.3 Schlechte Typbibliotheken 144

3 Die Visual Basic-Sprachfamilie 147
3.1 Die Visual Basic-Sprachfamilie 149
3.1.1 Visual Basic for Applications (VBA) 150
3.1.2 Visual Basic Script (VBS) 151
3.1.3 Visual Basic.NET 152
3.2 Grundlagen 152
3.2.1 Grundlegendes zur Syntax 152
3.2.2 Speicherung des Programmcodes 153
3.2.3 Startpunkt eines Programms 153
3.3 Einfache Ein- und Ausgabefunktionen 154
3.3.1 Ausgaben mit MsgBox() 154
3.3.2 Eingaben mit InputBox() empfangen 156
3.4 Variablen 157
3.4.1 Gültigkeitsbereich von Variablen 157
3.4.2 Benennung von Variablen 158
3.5 Datentypen 159
3.5.1 Datentypen in VBS 159
3.5.2 Datentypen in VB6/VBA 160
3.5.3 Startwerte von Variablen 163
3.6 Darstellung von Werten 163
3.6.1 Literale 164
3.6.2 Symbolische Konstanten 165
3.7 Operatoren 168
3.8 Typkonversion 170
3.9 Arrays 172
3.9.1 Statische Arrays 173
3.9.2 Dynamische Arrays 173
3.9.3 Array-Operationen 174
3.9.3.1 Füllen eines Arrays 174
3.9.3.2 Typbestimmung 175
3.9.3.3 Wertzuweisungen 176
3.9.3.4 Arrays vergleichen 177
3.9.3.5 Arrays als Funktionsrückgabewerte 177
3.10 Bedingte Programmausführung 179
3.10.1 If...Then 179
3.10.2 Select...Case 180
3.11 Schleifen 182
3.11.1 For...Next 182
3.11.2 For Each...Next 185
3.11.3 Do...Loop 186
3.12 Unterroutinen 189
3.12.1 Prozeduren 189
3.12.2 Funktionen 191
3.12.3 Die Last mit den Parametern 192
3.13 Codegenerierung zur Laufzeit 194
3.14 Objektbasierte Programmierung 196
3.14.1 Definition von Klassen in VBS 196
3.14.2 Definition von Klassen in VB6/VBA 199
3.14.3 Objektvariablen 200
3.14.4 Instanziierung 200
3.14.5 Objektverwendung 201
3.14.6 Objektoperationen 203
3.14.7 Property-Routinen 205
3.14.8 Objektvernichtung 210
3.14.9 Objektmengen (Collections) 211
3.14.10 Ereignisse 213
3.14.11 Vererbung und Mehrfachschnittstellen 215
3.15 Visual Basic und COM/DCOM 219
3.15.1 Instanziierung von COM-Komponenten 220
3.15.2 Zugriff auf bestehende Instanzen 223
3.15.3 Verwendung von COM-Objekten 224
3.15.4 Mehrfachschnittstellen 224
3.15.5 Datentypprobleme 225
3.16 Eingebaute Funktionen und Klassen 226
3.17 Fehlerbehandlung 226
3.18 Hilfreiche Routinen 229
3.18.1 Skripteinbindung 229
3.18.2 Umwandlungsroutinen 230
3.18.3 Rückumwandlung von Konstanten 231
3.18.4 Ausgabe 232
3.18.5 Schreiben in eine Log-Datei 233
3.18.6 Fehlerüberprüfung 234
3.18.7 COM-Funktionen 234

4 Scripting Hosts 237
4.1 Windows Script Host (WSH) 240
4.1.1 Verfügbare Versionen 241
4.1.2 WSH-Installation 242
4.1.3 WSH-Konfiguration 243
4.1.4 WScript versus CScript 247
4.1.5 Skriptdateien 249
4.1.5.1 Einfache WSH-Skriptdateien 250
4.1.5.2 XML-strukturierte WSF-Dateien 250
4.1.5.3 WSH-Konfigurationsdateien 256
4.1.6 Start eines Skripts 258
4.1.7 Befehlszeilenparameter für Skripte 259
4.1.8 Einbinden von anderen Skriptdateien 263
4.1.9 Statische Objekte und Einbinden von Typbibliotheken 264
4.1.10 Die Intrinsic Objects des WSH 266
4.1.10.1 Basisfunktionen im WScript-Objekt 267
4.1.10.2 StdIn, StdOut und StdErr 271
4.1.10.3 Zugriff auf die Befehlszeilenparameter 272
4.1.10.4 Zugriff auf externe COM-Komponenten 275
4.1.11 Bildschirmmasken für den WSH 278
4.1.12 Sicherheitseinstellungen 279
4.2 DHTML-Scripting im Internet Explorer 281
4.2.1 Grundlagen des Browser-Scriptings 281
4.2.2 Einbindung von Skriptcode 283
4.2.3 Hello World im Browser 284
4.2.4 Sicherheitseinstellungen 285
4.2.5 DOM-Ereignisbehandlung 290
4.2.6 Intrinsic Objects 292
4.2.6.1 Zugriff auf das Webbrowser-Objektmodell 292
4.2.6.2 Zugriff auf das Document Object Model (DOM) 293
4.2.7 Zugriff auf externe COM-Komponenten 296
4.2.8 HTML-Applications (HTA) 297
4.3 Active Server Pages (ASP) 299
4.3.1 Grundlagen dynamischer Webserveranwendungen 299
4.3.1.1 Statische versus dynamische Webanwendungen 300
4.3.1.2 Kommunikation zwischen Webclient und Webserver 300
4.3.1.3 Kommunikation zwischen Webserver und Middleware 305
4.3.1.4 State Management 306
4.3.1.5 Überblick über dynamische Technologien 307
4.3.1.6 Bewertung von ASP 309
4.3.2 Installation von ASP 309
4.3.3 IIS-Konfiguration 310
4.3.4 Aufbau von ASP-Seiten 312
4.3.5 Start einer ASP-Seite 312
4.3.6 Ausgaben in ASP 314
4.3.7 Intrinsic Objects 315
4.3.7.1 Request-Objekt 317
4.3.7.2 Response-Objekt 321
4.3.7.3 Server-Objekt 326
4.3.7.4 Session-Objekt und Application-Objekt 330
4.3.7.5 Global.asa und ASP-Ereignisse 333
4.3.8 Einbinden von Dateien 337
4.3.9 Einbinden von Typbibliotheken 339
4.3.10 Sicherheitseinstellungen 341
4.3.11 Transaktionssteuerung 342
4.4 Job Scripting im SQL Server 7.0/2000 342
4.4.1 Überblick über den SQL Server-Agent 343
4.4.2 Definition von Aufträgen 344
4.4.3 Erstellung von Job Scripts 348
4.4.4 Intrinsic Objects 349
4.5 Data Transformation Service im SQL Server 7.0/2000 351
4.5.1 DTS-Pakete 352
4.5.1.1 Bausteine von DTS-Paketen 352
4.5.1.2 Erstellung von DTS-Paketen 355
4.5.1.3 Speicherung von DTS-Paketen 355
4.5.1.4 Ausführung von DTS-Paketen 356
4.5.1.5 Sicherheitseinstellungen 357
4.5.2 Datentransformationen mit dem DTS 358
4.5.3 ActiveX Script-Transformation 363
4.5.4 ActiveX ScriptTasks 365
4.6 Scripting im Microsoft Operations Manager (MOM) 367
4.6.1 Bausteine 368
4.6.2 Management Packs 368
4.6.3 Architektur 369
4.6.4 Überblick über das Regelsystem 370
4.6.5 Computer-Gruppierungsregeln 371
4.6.6 Verarbeitungsregeln 374
4.6.6.1 Ereignis-Regeln 375
4.6.6.2 Leistungsdaten-Regeln 379
4.6.6.3 Alarm-Regeln 379
4.6.6.4 Zuordnung von Regeln 380
4.6.7 Antworten auf die Erfüllung von Regeln 381
4.6.8 Scripting im MOM 383
4.6.8.1 Skripte verwalten 383
4.6.8.2 Definition von neuen Skripten 387
4.6.8.3 Verwendung von Skripten 389
4.6.8.4 Intrinsic Objects 390
4.6.8.5 Fehlersuche und Debugging 393
4.6.8.6 Beispiel 394
4.7 Event Scripting Agent im Exchange Server 5.5/2000 397
4.7.1 Überblick über den Exchange Event Service 397
4.7.1.1 Event Agents 398
4.7.1.2 Konfiguration des Exchange Event Services 398
4.7.2 Exchange Event Scripting 400
4.7.2.1 Intrinsic Objects 401
4.7.2.2 Installation eines Skripts 402
4.7.2.3 Erstes Beispiel 404
4.7.2.4 Debugging 406
4.7.2.5 Nützliche Hilfsroutinen 408
4.8 Microsoft Outlook Forms 411
4.8.1 Formulardesigner 411
4.8.2 Steuerelemente und Felder 413
4.8.3 Intrinsic Objects 414
4.8.4 Ereignisse in Outlook Forms 415
4.8.4.1 Formularereignisse 415
4.8.4.2 Steuerelementereignisse 416
4.9 Windows Installer Custom Actions 416
4.10 XSLT-Scripting 417
4.11 Scripting Hosts anderer Anbieter 418
4.11.1 System Script Host (SSH) 418
4.11.2 HyperHost 420
4.11.3 TextPipe 420

5 COM-Komponenten 421
5.1 WSH Runtime Library 1.0/2.0/5.6 422
5.1.1 Objektmodelle der WSH Runtime Library 424
5.1.2 WSHNetwork und untergeordnete Klassen 432
5.1.2.1 Druckerverbindungen verwalten 432
5.1.2.2 Netzlaufwerke verwalten 434
5.1.3 WSHShell und untergeordnete Klassen 435
5.1.3.1 Aktuelles Arbeitsverzeichnis 435
5.1.3.2 Zeitgesteuerte Dialogboxen 435
5.1.3.3 Zugriff auf die Registry 436
5.1.3.4 Schreiben in das Anwendungsprotokoll 439
5.1.3.5 Programme ausführen 440
5.1.3.6 Beispiel 1: Ausgaben des Prozesses auswerten 442
5.1.3.7 Fernsteuerung von Windows-Fenstern 445
5.1.3.8 Umgebungsvariablen lesen und bearbeiten 447
5.1.3.9 Zugriff auf Sonderordner 449
5.1.3.10 Verknüpfungen erstellen 450
5.2 Scripting Runtime Library 452
5.2.1 Die Dictionary-Klasse 453
5.2.2 File System Objects (FSO) 456
5.2.2.1 Funktionsüberblick 457
5.2.2.2 FSO-Objektmodell 458
5.2.2.3 Lesezugriff auf das Dateisystem 459
5.2.2.4 Dateisystemoperationen 464
5.2.3 Arbeit mit Textstreams 465
5.3 Active Directory Service Interface (ADSI) 470
5.3.1 Verzeichnisdienste 470
5.3.1.1 Aufbau eines Verzeichnisbaums 471
5.3.1.2 Verzeichnisdienstschemata 472
5.3.1.3 Objektidentifikation 473
5.3.1.4 Meta-Directories 473
5.3.1.5 Lightweight Directory Access Protocol (LDAP) 474
5.3.2 Die ADSI-Grundlagen 477
5.3.2.1 Architektur 478
5.3.2.2 Installation 478
5.3.2.3 Verfügbare ADSI-Provider 479
5.3.2.4 ADSI Software Development Kit 480
5.3.3 Das ADSI-Meta-Objektmodell 481
5.3.3.1 Überblick über die ADSI-Standardschnittstellen 483
5.3.3.2 Die Meta-Schnittstellen IADs und IADsContainer 487
5.3.4 Grundlagen der ADSI-Programmierung 488
5.3.4.1 Objektidentifikation und Bindung 488
5.3.4.2 Methodenaufrufe und Attributzugriffe 490
5.3.4.3 Zugriff auf Container-Objekte 494
5.3.4.4 Instanzenverwaltung 495
5.3.4.5 ADSI-Sicherheit 497
5.3.4.6 Schemazugriff 499
5.3.4.7 ADSI-Queries 502
5.3.5 ADS Namespaces Container 506
5.3.6 ADSI-Provider für Windows NT 4.0 (WinNT) 508
5.3.6.1 WinNT-Objektmodell 509
5.3.6.2 Identifikation und Bindung 510
5.3.6.3 Verwaltung von NT-Domänen 511
5.3.6.4 Die WinNT-Klasse "Computer" 513
5.3.6.5 Benutzerkonten verwalten mit der "User"-Klasse 514
5.3.6.6 Terminalserver-Einstellungen 519
5.3.6.7 Gruppenverwaltung mit der Group-Klasse 519
5.3.6.8 Verwaltung von NT-Diensten mit der "Service"-Klasse 520
5.3.6.9 Verzeichnisfreigaben verwalten 522
5.3.6.10 Benutzersitzungen und geöffnete Ressourcen 523
5.3.6.11 Druckersteuerung 524
5.3.7 Windows 2000 Active Directory-Administration mit ADSI 525
5.3.7.1 ADS-Objektmodell 526
5.3.7.2 Identifikation und Bindung 528
5.3.7.3 Benutzerverwaltung 530
5.3.7.4 Organisationseinheiten verwalten 532
5.3.8 Exchange Server-Administration mit ADSI 533
5.3.8.1 LDAP-Konfiguration 534
5.3.8.2 Exchange-Objektmodell 535
5.3.8.3 Identifikation und Bindung 538
5.3.8.4 Das Exchange-Schema 538
5.3.8.5 Empfänger auflisten 541
5.3.8.6 Erzeugung neuer Empfängereinträge 541
5.3.8.7 Erzeugung von E-Mail-Verteilern 545
5.3.8.8 Zugriff auf Konfigurationsinformationen 547
5.3.9 Internet Information Server-Administration mit ADSI 547
5.3.9.1 IIS-Objektmodell 548
5.3.9.2 Identifikation und Bindung 549
5.3.9.3 Arbeit mit virtuellen Webservern 550
5.3.10 Zusatzkomponenten für ADSI 554
5.3.10.1 ADSI-Versionsabfrage mit ADsVersion 554
5.3.10.2 Detaillierte Fehlermeldungen mit ADsError 555
5.3.10.3 GetObject() durch die Hintertür mit ADsFactory 556
5.3.10.4 RAS-Konfiguration mit ADsRAS 558
5.3.10.5 Zugriff auf Sicherheitseinstellungen mit ADsSecurity 560
5.3.10.6 IADsTools 571
5.4 Windows Management Instrumentation (WMI) 572
5.4.1 WMI-Grundlagen 573
5.4.1.1 WMI-Funktionsumfang 573
5.4.1.2 WMI in Whistler 574
5.4.1.3 Installation und Konfiguration 575
5.4.1.4 WMI-Provider 577
5.4.1.5 Programmierung mit der WMI-COM-Komponente 578
5.4.1.6 Wichtige WMI-Konzepte im Überblick 580
5.4.1.7 Bindung an Managed Objects 591
5.4.2 Objektmodell der WMI-Komponente 594
5.4.2.1 Die Meta-Klasse SWbemObject 597
5.4.2.2 SWbemServices 598
5.4.3 Arbeit mit der WMI-Komponente 599
5.4.3.1 Zugriff auf lokale Managed Objects 599
5.4.3.2 Zugriff auf Schemainformationen 601
5.4.3.3 Zugriff auf entfernte Systeme 604
5.4.3.4 Änderung von Attributwerten 605
5.4.3.5 Aufruf von Methoden 606
5.4.3.6 Ausgabe eines ObjectSets 609
5.4.3.7 WQL-Queries im Detail 609
5.4.3.8 Semi-synchrone Verarbeitung 613
5.4.3.9 Asynchrone Aufrufe mit SWbemSink 614
5.4.4 WMI ODBC-Treiber 615
5.4.5 ActiveScriptEventConsumer 616
5.4.5.1 WMI-ADSI-Integration 617
5.4.6 Weitere WMI-Beispiele 620
5.4.7 Ihre Expedition in die WMI 623
5.5 WindowsScripting-Komponente 624
5.5.1 Klasse "IniFile" 625
5.5.2 Klasse "WinNTUser" 625
5.5.3 Klasse "Util" 627
5.5.4 Klasse "ADSI" 627
5.5.5 Klasse "CSV" 627
5.6 API-Funktionsaufrufe mit DynaCall 628
5.7 Weitere Komponenten 631
5.7.1 COM-Komponentenhandbuch 631
5.7.2 Komponenten von Microsoft 632
5.7.3 Komponenten anderer Hersteller 634

6 Werkzeuge 637
6.1 Editoren und Entwicklungsumgebungen 637
6.1.1 Visual InterDev 637
6.1.2 Skripteditor in Office 2000 640
6.1.3 PrimalScript 640
6.1.4 Scripting Spy Professional 3.0 643
6.1.5 Visual Basic 6- und VBA-IDE 645
6.1.6 Notepad und Notepad Plus 646
6.1.7 Weitere Editoren 646
6.2 Skript-Debugger 647
6.2.1 Fehlerarten 647
6.2.2 ActiveX Script Debugging 648
6.2.3 Visual Basic Debugger 650
6.2.4 Microsoft Script Debugger 651
6.2.5 Visual InterDev Debugger 652
6.3 COM-Werkzeuge 653
6.3.1 Microsoft Registry-Editoren 653
6.3.2 Registry Crawler 653
6.3.3 Regsvr32, SWBregsvr und CliReg 654
6.3.4 COM-Viewer 656
6.3.5 COM-Explorer 660
6.3.6 Dependency Walker 661
6.3.7 Objektkatalog 661
6.3.8 comTLBrowser 664
6.3.9 DCOM-Konfigurationswerkzeug 665
6.3.10 MTS Explorer 668
6.3.11 Snap-In "Komponentendienste" 669
6.3.12 ROT-Viewer 670
6.3.13 Scripting Spy 2.11 671
6.4 WMI-Werkzeuge 675
6.4.1 WMI Object Browser 675
6.4.2 WMI CIM Studio 677
6.4.3 WMI Event Registration Tool 680
6.4.4 WMI Event Viewer 682
6.4.5 VBInstance 682
6.4.6 WMI-Testprogramm 683
6.4.7 MOF Compiler 683
6.5 ADSI-Werkzeuge 684
6.5.1 Active Directory Service Browser (ADB) 684
6.5.2 ADSI Explorer 685
6.5.3 ADSI Edit 686
6.5.4 ADSISchemaBrowser 688
6.6 MAPI-/CDO-Werkzeuge 688
6.6.1 Script Director 688
6.6.2 MAPI Explorer 689
6.7 XML-Werkzeuge 690
6.7.1 XML Notepad 690
6.7.2 XSLT-Transformationen mit MSXSL.EXE 690
6.7.3 IE Tools for Validating XML and Viewing XSLT Output 691

7 Fortgeschrittene Techniken 695
7.1 Skriptkodierung mit dem Script Encoder 695
7.1.1 Kodierung per Kommandozeile 697
7.1.2 Kodierung per Skript mit der Klasse Scripting.Encoder 699
7.2 Digitale Signaturen für Skripte 701
7.2.1 Grundlagen digitaler Signaturen 701
7.2.2 CryptoAPI-Tools 703
7.2.2.1 Der Signcode-Wizard 703
7.2.2.2 Prüfen der Signaturen mit ChkTrust 705
7.2.2.3 Zertifikate verwalten mit dem Zertifikatsmanager 707
7.2.3 Aktivierung der automatischen Prüfung 709
7.3 Ausführung entfernter Skripte 710
7.3.1 Remote Scripting mit dem WSH 710
7.3.1.1 Voraussetzungen 711
7.3.1.2 Objektmodell 712
7.3.1.3 Beispiel 713
7.3.1.4 Identitätseinstellungen 717
7.3.1.5 Mögliche Fehler 719
7.3.2 Remote Scripting in Web 720
7.4 Nutzung entfernter COM-Komponenten 720
7.4.1 Standard-DCOM 721
7.4.2 Remote Data Service (RDS) 724
7.5 Entwicklung von Automatisierungslösungen in Visual Basic 6 724
7.5.1 VB-EXE versus Scripting 726
7.5.2 Erstellung einer VB-EXE 729
7.5.3 Eingabehilfen 732
7.5.4 Einbindung von Typbibliotheken 734
7.5.5 Debugging 735
7.5.6 Intrinsic Objects 736
7.5.7 Grafische Benutzeroberflächen mit VB-Forms 738
7.5.8 WSH-kompatible Programmierung in VB 739
7.6 Die VBA-Hosts in Microsoft Office 743
7.6.1 Entwicklungsumgebung 745
7.6.2 Start einer VBA-Routine 746
7.6.3 Intrinsic Objects 747
7.6.4 VBA-UserForms 747
7.6.5 Microsoft Office 2000 Developer Edition 748
7.7 Prototyping von Exchange Event Agents innerhalb der VB 6.0-IDE 749
7.8 Erzeugung eigener COM-Komponenten 755
7.8.1 Erzeugung von Komponenten mit VB6 756
7.8.2 Windows Script Components 763
7.9 Programmierung eigener Scripting Hosts 771
7.10 Komponentenerforschung 773
7.10.1 Suche nach Komponenten 774
7.10.2 Analyse von Komponenten 778

8 Fallbeispiele 783
8.1 BulkUserInsert 783
8.1.1 Aufgabenstellung 783
8.1.2 Lösung 784
8.2 Login-Skript 786
8.2.1 Aufgabenstellung 786
8.2.2 Lösung 787
8.3 RemoteExec per E-Mail 790
8.3.1 Aufgabenstellung 790
8.3.2 Lösung 792
8.4 WebPrinterManager 796
8.4.1 Aufgabenstellung 796
8.4.2 Lösung 797
8.5 WBEM Multi Server Disk Viewer (WMSDV) 802
8.5.1 Aufgabenstellung 802
8.5.2 Lösung 802
8.6 DemoHost 807
8.6.1 Aufgabenstellung 807
8.6.2 Lösung 808
8.7 Weitere Beispiele 810
8.7.1 Group-Maker 810
8.7.2 DTS-Anwendung 811
8.7.3 Character Map Viewer 812
8.7.4 WebUserManager 812

9 .NET (DOTNET) 815
9.1 Die .NET-Initiative 816
9.2 Grundlagen des .NET-Frameworks 818
9.2.1 .NET-Intermediation-Konzept 821
9.2.2 .NET-Komponentenmodell 823
9.2.2.1 Vorteile von .NET gegenüber COM 823
9.2.2.2 Interoperabilität zwischen COM und .NET 825
9.2.2.3 Zukunft von COM 827
9.2.3 Common Language Specification (CLS) 827
9.2.4 Common Language Runtime (CLR) 829
9.2.5 .NET Framework Class Library (FCL) 832
9.2.6 Simple Object Access Protocol (SOAP) 837
9.2.7 Active Server Pages.NET (ASP.NET) 839
9.2.8 Webservices 839
9.2.9 C# 841
9.3 Bausteine des .NET-Frameworks 841
9.3.1 Module 841
9.3.2 Assemblies 842
9.3.2.1 Assembly-Manifeste 845
9.3.2.2 Assembly-Typen 846
9.3.2.3 Side-by-Side-Execution und Versionierung 848
9.3.2.4 Festlegung weiterer Dateieigenschaften 850
9.3.2.5 Nutzung von Assemblies 850
9.3.3 Namespaces 851
9.3.4 Typinformationen 852
9.3.4.1 Reflection 852
9.3.5 Application Domains (AppDomains) 852
9.3.6 Konfigurationsdateien 853
9.3.6.1 Systemkonfigurationsdateien 853
9.3.6.2 Sicherheitskonfigurationsdateien 853
9.3.6.3 Anwendungskonfigurationsdateien 854
9.4 .NET-Scripting 855
9.4.1 Visual Studio for Applications (VSA) 855
9.4.2 CLR Scripting Host (CLRHost) 858
9.5 Visual Basic.NET (VB 7.0) 860
9.5.1 Compiler 860
9.5.2 Änderungen von VB 6.0 zu VB.NET (VB 7.0) 861
9.5.2.1 Integration in das .NET-Framework 861
9.5.2.2 Verbesserte Objektorientierung 862
9.5.2.3 Veränderung bei den Sprachkonstrukten 863
9.5.2.4 Neue Konstrukte 864
9.5.3 Bewertung 865
9.6 Visual Studio.NET 865
9.6.1 Visual Studio-Solutions 866
9.6.2 Eingabehilfen für die Entwicklung von Visual Basic.NET-Anwendungen 868
9.6.3 Unterstützung für DHTML- und ASP-Dateien 869
9.6.4 Unterstützung für WSH-Dateien 869
9.6.5 Visual Studio.NET-Objektbrowser 870
9.7 .NET-Werkzeuge 870
9.7.1 .NET Admin Tool 872
9.7.2 Compiler 872
9.7.3 Debugger 873
9.7.4 Intermediation Language Disassembler (ILDasm) 873
9.7.5 Type Library Importer (TlbImp.exe) 875
9.7.6 Assembly Registration Tool (regams.exe) 876
9.7.7 Assembly Generation Utility (al.exe) 876
9.7.8 Strong Name Utility (sn.exe) 876
9.7.9 Global Assembly Cache Utility (gacutil.exe) 876
9.8 Entwicklung von Automatisierungslösungen mit VB.NET 876
9.8.1 Erstellung einer Hello-World-Anwendung 877
9.8.2 Entwicklung einer DOS-Anwendung 878
9.8.3 Entwicklung innerhalb der Visual Studio.NET-Entwicklungsumgebung 879
9.8.3.1 Projekttypen 879
9.8.3.2 Verweise 881
9.8.3.3 Ausgaben 883
9.8.3.4 Gestaltung von Benutzeroberflächen mit Windows-Forms 884
9.8.4 Erstellung einer Shared Assembly 889
9.8.5 Festlegung von Assembly-Eigenschaften 890
9.9 Erzeugung von Klassenbibliotheken mit VB.NET 892
9.9.1 Kodierung einer .NET-Komponente 892
9.9.2 Erzeugung eines Clients für die .NET-Komponente 894
9.9.3 Bereitstellung als COM-Komponente 894
9.9.4 Automatisierte Erstellung durch eine Batch-Datei 896
9.9.5 Erzeugung einer Multi-File-Assembly 898
9.9.6 Namespaces über mehrere Komponenten 900

A Kurzeinführung in XML 905
A.1 Elemente und Attribute 905
A.2 Processing Instructions (PIs) 906
A.3 Wohlgeformtheit und Gültigkeit 907
A.4 Zeichensätze 909
A.5 XML-Namespaces 911
A.6 Datentypen 911
A.7 XML-Beispiele 913
A.8 Darstellung von XML-Dokumenten 916
A.9 XML und Scripting 923

B Visual Basic-Funktionen 925
B.1 Numerische Funktionen 925
B.2 Finanzmathematische Funktionen 926
B.3 Formatierungs-Funktionen 927
B.4 String-Funktionen 928
B.5 Datum/Uhrzeit 929
B.6 Arrayfunktionen 931
B.7 Funktionen zur Arbeit mit COM 931
B.8 Systemfunktionen und Ein-/Ausgabe 932
B.9 Typprüfung und -umwandlung 934
B.10 Sonstige Funktionen 935

C CD-ROM und Website 937
C.1 Der Inhalt der CD-ROM 937
C.2 Die Website zu diesem Buch 938

D Hinweise zum Buch 939
D.1 Sprachliche Konventionen 939
D.2 Hinweise zur Formatierung des Textes 940
D.3 Grafische Notation in den Objektdiagrammen 941
D.3.1 Knoten (geometrische Formen) 942
D.3.2 Zusätze 942
D.3.3 Kanten (Verbindungslinien) 943
D.4 Komponenten-Schnellinfo 946
D.5 Die Umgebung für dieses Buch 947
D.6 Hinweise zu den Listings 949
D.6.1 Die Code-Beispiele auf der CD-ROM 949
D.6.2 Konventionen in den Code-Beispielen 949

E Literaturverzeichnis 951
E.1 Gedruckte Literatur 951
E.2 Quellen im Internet 954
E.3 Requests for Comment (RFCs) 960
E.4 Newsgroups 961
E.5 Andere Quellenangaben 962

F Abkürzungsverzeichnis 963

Stichwortverzeichnis 971

[Mehr Informationen + versandkostenfreie Bestellung - auf Wunsch vom Autor signiert!]