Freigeben über


[Newsletter-Archiv ^] [< Band 4, Nummer 3] [Band 5, Nummer 2 >]

Systems Internals Newsletter Band 5, Nummer 1

http://www.sysinternals.com
Copyright (C) 2003 Mark Russinovich


19. Februar 2003 – In dieser Ausgabe:

  1. LEITARTIKEL

  2. NEUERUNGEN BEI SYSINTERNALS

    • Filemon v5.01
    • DebugView v4.2
    • NewSID v4.02
    • PsShutdown v2.01
    • Autoruns v2.02
    • ShareEnum v1.3
    • TCPView v2.31
    • Bluescreen v3.0
    • Sysinternals bei Microsoft
  3. INTERNALS – INFORMATIONEN

    • Neues Video zu XP/Server 2003 Internals
    • Mark Russinovich und David Solomon halten in Seattle Schulungen zu den Themen Internals und Problembehandlung ab.
    • Common Criteria-Zertifizierung für Windows 2000 SP3
    • Visual Studio: Überwachen von LastError
    • Erläuterung des Registrierungswerts „LameButtonText“
    • Verlauf der Windows-Entwicklung
    • Einführung in die Analyse von Absturzabbildern

Der Sysinternals Newsletter wird von Winternals Software gesponsert (im Web unter http://www.winternals.com.) Winternals Software ist der führende Entwickler und Anbieter von erweiterten Systemtools für Windows NT/2000/XP. Die Produkte von Winternals Software umfassen ERD Commander 2002, NTFSDOS Professional Edition (ein NTFS-Treiber mit Lese-/Schreibzugriff für DOS) und Remote Recover.

Winternals ist erfreut, mit Defrag Manager Version 2.10 das schnellste und umfassendste Defragmentierungstool für Unternehmen vorzustellen. Ab sofort können Sie Defragmentierungszeitpläne in Ihrem gesamten Windows-Unternehmen über ein einfaches MMC-Snap-In verwalten, ohne dass Sie Clientsoftware auf Ihren NT-, Windows 2000- oder Windows XP-Systemen installieren müssen. Unter http://www.winternals.com/es können Sie weitere Informationen erhalten oder eine kostenlose 30-tägige Testversion anfordern.

Guten Tag,

Willkommen beim Sysinternals-Newsletter. Der Newsletter hat aktuell 36.000 Abonnenten.

Ich freue mich Ihnen mitzuteilen, dass David Solomon der Gastautor des diesmonatigen Leitartikels ist, in dem er einige seiner praktischen Erfahrungen bei der Problembehandlung mit verschiedenen Sysinternals-Hilfsprogrammen beschreibt.

Bitte teilen Sie den Newsletter mit allen Personen, für die diese Informationen von Interesse sein könnten.

Vielen Dank!

– Mark

LEITARTIKEL – von David Solomon

Ich habe ein neues Motto: „Im Zweifel Filemon und Regmon (sowie Prozess-Explorer) ausführen“.

Bevor ich weiter darauf eingehe, möchte ich mich zunächst bei Mark dafür bedanken, dass er mich eingeladen hat, diesen Gastbeitrag zu schreiben (es ist natürlich nicht so, dass er mir einen großen Gefallen oder irgendwelche Vorteile versprochen hat, damit ich voller Begeisterung berichte, wie hilfreich seine Tools sind).

Wie viele von Ihnen wissen, arbeiten Mark und ich zusammen, um Interessierte über Windows Internals aufzuklären. Unser neuestes Projekt war ein Update des Videotutorials zu Windows 2000 Internals, das wir im letzten Jahr erstellt haben, um die Kerneländerungen in Windows XP und Windows Server 2003 zu erläutern. Unsere nächste öffentliche Windows Internals-Schulung findet vom 21. bis 23. April in Bellevue, Washington (USA), statt. Einzelheiten zu beiden Themen finden Sie in den entsprechenden Abschnitten dieses Newsletters. Und um auf zahlreiche Nachfragen zu reagieren: Wir arbeiten wir gerade an unserem Buch „Inside Windows 2000 for XP und Server 2003“ (voraussichtliche Veröffentlichung im Spätsommer).

Warum bin ich eigentlich so begeistert von den Sysinternals-Tools? Im letzten Jahr haben sie mir geholfen, eine Vielzahl von Anwendungs- und Systemproblemen zu beheben, die ich sonst nicht hätte lösen können. Ich kann gar nicht beschreiben, wie viele völlig verschiedene unzusammenhängende Probleme ich mit diesen Tools beheben konnte. Selbst in Fällen, in denen ich dachte, dass sie scheitern würden, waren sie erfolgreich. Daher mein neues Motto: „Im Zweifelsfall Filemon und Regmon ausführen“.

Es gibt zwei grundlegende Methoden, diese Tools anzuwenden:

  1. Sehen Sie sich den letzten Schritt in der Filemon/Regmon-Ablaufverfolgung an, die die Anwendung vor dem Fehler ausgeführt hat. Dies kann auf das Problem hinweisen.
  2. Vergleichen Sie eine Filemon/Regmon-Ablaufverfolgung der fehlerhaften Anwendung mit einer Ablaufverfolgung eines funktionierenden Systems.

Erster Ansatz: Führen Sie Filemon und Regmon und dann die Anwendung aus. Sobald der Fehler auftritt, wechseln Sie zurück zu Filemon und Regmon, und halten Sie die Protokollierung (durch Drücken von STRG+E) an. Suchen Sie dann am Ende des Protokolls die letzten Vorgänge, die von der Anwendung ausgeführt wurden, bevor sie fehlgeschlagen ist (abgestürzt oder hängengeblieben ist oder einen vergleichbaren Fehler verursacht hat). Beginnen Sie mit der letzten Zeile, und arbeiten Sie sich hoch, indem Sie die Dateien und/oder Registrierungsschlüssel untersuchen, auf die verwiesen wird. So lässt sich das Problem häufig lokalisieren.

Verwenden Sie den zweiten Ansatz, wenn die Anwendung auf einem System ausfällt, auf einem anderen aber funktioniert. Zeichnen Sie eine Filemon- und Regmon-Ablaufverfolgung der Anwendung auf dem funktionsfähigen und fehlerhaften System auf, und speichern Sie die Ausgabe in einer Protokolldatei. Öffnen Sie dann die Protokolldatei des funktionsfähigen und ausgefallenen Systems mit Excel (verwenden Sie im Import-Assistenten die Standardwerte), und löschen Sie die ersten drei Spalten (andernfalls wird beim Vergleich jede Zeile als unterschiedlich angezeigt, da die ersten drei Spalten Informationen enthalten, die sich von Ausführung zu Ausführung ändern, z. B. die Uhrzeit und Vorgangs-ID). Vergleichen Sie abschließend die resultierenden Protokolldateien. (Verwenden Sie z. B. WinDiff, das unter Windows XP in den kostenlosen Supporttools enthalten ist, die Sie von der XP-CD installieren können. Für Windows NT4 und Windows 2000 finden Sie das Tool im Resource Kit.)

Nun ein paar Beispiele aus der Praxis.

Auf einer Windows 2000-Arbeitsstation mit Microsoft Office 97 meldete Dr. Watson kurz nach dem Start von Word einen Fehler. Möglicherweise konnten tatsächlich ein paar Zeichen eingegeben werden, bevor sich Dr. Watson gemeldet hat, allerdings stürzte Word unabhängig davon, ob etwas eingegeben wurde oder nicht, innerhalb weniger Sekunden nach dem Start ab. Der Benutzer hat natürlich versucht, Office zu deinstallieren und neu zu installieren, das Problem trat aber weiterhin auf. Also habe ich Filemon und Regmon ausgeführt und mir den letzten Vorgang angesehen, den Word vor dem Absturz ausgeführt hat. Die Filemon-Ablaufverfolgung zeigte, dass Word zuletzt eine HP-Drucker-DLL geöffnet hat. Es stellte sich heraus, dass aktuell kein Drucker für die Arbeitsstation konfiguriert war, zu einem früheren Zeitpunkt allerdings schon. Daher habe ich den HP-Drucker aus dem System gelöscht und das Problem auf diese Weise behoben.

Offensichtlich hat die Tatsache, dass die Drucker beim Starten von Word aufgezählt werden, dazu geführt, dass diese DLL geladen wurde, was wiederum zum Abbruch des Prozesses geführt hat. (Ich weiß nicht, warum das passiert ist. Vielleicht hat der Benutzer eine ungültige Version installiert. Aber da das System mit keinem Drucker mehr verbunden war, spielte es eigentlich keine Rolle.)

In einem anderen Beispiel hat Regmon einen Benutzer davor bewahrt, sein Windows XP-Desktopsystem komplett neu zu installieren. Das Symptom bestand darin, dass Internet Explorer (IE) beim Start hängen blieb, wenn die Internetverbindung vom Benutzer nicht zuerst manuell hergestellt wurde. Diese Internetverbindung war als Standardverbindung für das System festgelegt, sodass durch den Start von IE eine automatische Einwahl ins Internet ausgeführt werden sollte (da IE dafür konfiguriert war, beim Start eine Standardstartseite anzuzeigen). Getreu meinem neuen Motto führte ich Filemon und Regmon aus und überprüfte ab dem Punkt im Protokoll, an dem IE hängen geblieben war, alle vorherigen Einträge. Filemon zeigte nichts Ungewöhnliches an, im Regmon-Protokoll war allerdings zu sehen, dass der Schlüssel HKEY_CURRENT_USER\Software\Microsoft\RAS Phonebook\ATT abgefragt wurde. Vom Benutzer erfuhr ich, dass er früher das AT&T-Dialer-Programm installiert hatte, es dann aber deinstalliert und die Einwahlverbindung manuell hergestellt hatte. Da der Name der Einwahlverbindung nicht „ATT“ lautete, vermutete ich, dass es sich um Junk in der Registrierung handelte, der bei der Deinstallation entstanden war und IE zum Absturz brachte. Also habe ich den Schlüssel umbenannt und das Problem gelöst.

Die Funktion für den Protokollvergleich half bei der Lösung der Frage, warum Access 2000 auf der XP-Arbeitsstation eines Programmierers hängen blieb, als er versuchte, eine Excel-Datei zu importieren. Der Import derselben Datei funktionierte auf den Arbeitsstationen anderer Benutzer einwandfrei und schlug nur auf dieser Arbeitsstation fehl. Daher wurde für Access eine Ablaufverfolgung auf dem funktionierenden und dem fehlerhaften System aufgezeichnet. Nach entsprechender Bearbeitung der Protokolldateien wurden diese mit Windiff verglichen. Die ersten Unterschiede waren darauf zurückzuführen, dass die Namen temporärer Dateien unterschiedlich waren und dass einige Dateien aufgrund der Groß-/Kleinschreibung unterschiedliche Namen hatten. Das waren allerdings keine „relevanten Unterschiede“ zwischen den beiden Systemen.

Der erste Unterschied, der nicht in Ordnung war, bestand darin, dass eine Access-DLL auf dem fehlerhaften System aus dem Ordner \Windows\System32, auf dem funktionierenden System aber aus dem Ordner \Program Files\Microsoft Office\Office geladen wurde. Der Vergleich der DLLs ergab, dass die Version in \Windows\System32 aus einer früheren Access-Version stammte. Daher hat der Benutzer diese DLL in .bad umbenannt und Access erneut ausgeführt. Das Problem war behoben!

Eine Problemkategorie, bei der Filemon unglaublich hilfreich ist, besteht im Aufdecken von Problemen mit Dateiberechtigungen. Viele Anwendungen melden Fehler vom Typ „Zugriff verweigert“ nur unzureichend. Filemon weist jedoch sehr deutlich auf Fehler dieses Typs hin, da für Fehler beim Öffnen von Dateien aufgrund von Berechtigungsproblemen in der Ergebnisspalte „ACCESS DENIED“ (Zugriff verweigert) angezeigt wird. (In der neuesten Version wird sogar der Name des Benutzers angezeigt, der nicht auf die Datei zugreifen konnte.) Zwei konkrete Beispiele, bei denen dies der Fall war:

  1. Ein Benutzer erhielt beim Starten von Word eine seltsame Fehlermeldung zu einem Makro. Es stellte sich heraus, dass die Berechtigungen für eine DOT-Datei, auf die ein Makro verwies, so geändert wurden, dass dieser Benutzer keinen Zugriff mehr hatte. Filemon verdeutlichte, dass in Word ein Fehler vom Typ „Zugriff verweigert“ für die DOT-Datei auftrat. Nachdem die Berechtigungen korrigiert wurden, war das Problem beseitigt.
  2. In einer Outlook-Anwendung wurde die Meldung Application defined or object-defined error-Message ID: [Connect].[LoadGlobalVariables].[LN:?].[EN:287] angezeigt – ein weiteres Beispiel dafür, wie viele Anwendungen bei zufälligen E/A-Fehlern nutzlose Fehlermeldungen generieren. Auch hier wurde bei der Ausführung von Filemon ein Fehler vom Typ „Zugriff verweigert“ gefunden (dieses Mal für einen Ordner, auf den Outlook zugreifen musste). Die Ordnerberechtigungen wurden angepasst und das Problem behoben.

Dies sind nur einige Beispiele. Ich kenne viele weitere Erfolgsgeschichten, in denen Filemon und Regmon (sowie Prozess-Explorer, den ich hier nicht besprochen habe) die Situation gerettet haben. Kein Wunder, dass der Microsoft-Produktsupport diese Tools tagtäglich zur Lösung von Kundenproblemen einsetzt. (Nach letzter Zählung wird in etwa 40 Knowledge Base-Artikeln auf Marks Tools verwiesen. Eine Liste finden Sie unter http://www.sysinternals.com/ntw2k/info/mssysinternals.shtml.)

Führen Sie im Zweifelsfall einfach Filemon und Regmon aus.

David Solomon, David Solomon Expert Seminars http://www.solsem.com

NEUERUNGEN BEI SYSINTERNALS

FILEMON V5.01

Filemon, eines der Hilfsprogramme, die David in seinem Leitartikel herausstellt, wurde zum ersten Mal seit mehreren Jahren einer größeren Überarbeitung unterzogen. Das neue Release macht das Tool, das bereits über eine bedienfreundliche Benutzeroberfläche verfügte, noch benutzerfreundlicher. Die wichtigste Verbesserung besteht in der neuen Darstellung der Dateisystemaktivitäten in der Standardeinstellung von Filemon, wenn das Tool unter Windows NT, 2000, XP oder Server 2003 ausgeführt wird. Eine Optimierung, mit der ich mich schon eine Weile beschäftigt hatte und die ich schließlich aufgrund des Benutzerfeedbacks von David umgesetzt habe.

In früheren Versionen von Filemon werden Dateisystemvorgänge mit den Textnamen der internen E/A-Anforderungen angezeigt, die die Vorgänge ausführen. Obwohl die Darstellung technisch präzise ist, sind viele Benutzer nicht mit den internen Abläufen des Windows-E/A-Subsystems vertraut und finden Vorgänge wie FASTIO_CHECK_IF_POSSIBLE bedeutungslos und andere, wie die Meldung eines Vorgangsfehlers bei FASTIO_READ, verwirrend. Es gibt zahlreiche weitere Beispiele für Vorgänge, die die meisten als „Rauschen“ einstufen würden, und Vorgangsnamen, die nicht selbsterklärend sind.

Der Standardanzeigemodus von Filemon, Version 5.01, verfügt jetzt über einen Filtermechanismus, um die Aktivitäten zu entfernen, die in den meisten Problembehandlungsszenarien nutzlos sind, und der intuitive Namen für alle E/A-Vorgänge anzeigt. FASTIO_CHECK_IF_POSSIBLE wird herausgefiltert, FASTIO_READ-Fehler werden nicht angezeigt, und erfolgreiche FASTIO_READ-Vorgänge werden als READ-Vorgänge gemeldet. Darüber hinaus werden in der Standardansicht die Dateisystemaktivitäten im Systemprozess ausgeblendet. Dabei handelt es sich um den Prozess, in dem die Speicher- und Cache-Manager Hintergrundaktivitäten ausführen, sowie alle Auslagerungsaktivitäten des Speicher-Managers, einschließlich der in die Auslagerungsdatei des Systems. Das Menüelement „Options|Advanced“ (Optionen|Erweitert) bietet Benutzern, z. B. Entwicklern von Dateisystemfiltertreibern, die Möglichkeit, die Dateisystemaktivitäten in einer „Rohdatenansicht“ darzustellen, wie sie in früheren Filemon-Versionen zu sehen war.

Verschiedene Benutzer, darunter auch Mitarbeitende von Microsoft, haben den Wunsch geäußert, dass in Filemon das Konto angezeigt wird, für das der Fehler „Zugriff verweigert“ ausgegeben wurde, um das Debuggen von Sicherheitseinstellungen in Terminaldienstumgebungen zu erleichtern. In Reaktion darauf werden in Version 5.01 diese Informationen sowie der Zugriffsmodus (Lese-, Schreib-, Löschzugriff usw.) angezeigt, den ein Prozess beim Öffnen einer Datei benötigt. Außerdem wird angegeben, wie eine Datei geöffnet wird, z. B. ob sie überschrieben oder nur geöffnet wird, wenn sie vorhanden ist.

Viele Problembehandlungssitzungen konzentrieren sich auf die Identifizierung der Dateien, auf die ein Prozess zugreift oder zuzugreifen versucht, wobei Vorgänge wie Lese-, Schreib- und Schließvorgänge nur als Rauschen empfunden werden. Angesichts dieser Tatsache habe ich eine neue Filteroption für das Öffnen von Protokollen hinzugefügt, mit der Sie nur geöffnete Vorgänge isolieren können.

Eine weitere wichtige Änderung besteht in der Art und Weise, wie im Netzwerk zugeordnete Freigaben von Filemon v5.01 verarbeitet werden. In früheren Versionen wird jede Zuordnung im Menü „Drives“ (Laufwerke) als Laufwerkbuchstabe angezeigt. Jetzt sind alle derartigen Zuordnungen in der Auswahl „Network“ (Netzwerk) des Menüs „Volumes“ enthalten (dem umbenannten Menü „Drives“). Wenn Sie „Network“ auswählen, überwacht Filemon alle Netzwerkfreigaben und meldet UNC-Netzwerkaktivitäten, die auftreten, wenn Sie unter Verwendung der Namenskonvention „\\computer\share\directory“ auf Remotedateien zugreifen. Diese Änderung ermöglicht es Ihnen, Netzwerkdateiaktivitäten auch dann anzuzeigen, wenn Sie keine zugeordnete Netzwerkfreigabe besitzen, was in früheren Filemon-Versionen erforderlich war. Es gibt zahlreiche weitere kleinere Änderungen in der neuesten Filemon-Version, einschließlich einer aktualisierten Menüstruktur, die die benutzerfreundlicheren Menüs widerspiegelt, die ich vor einigen Monaten in Regmon eingeführt habe.

Hier können Sie Filemon v5.01 herunterladen:
http://www.sysinternals.com/ntw2k/source/filemon.shtml

INFORMATIONEN ZUM FILEMON- UND REGMON-QUELLCODE

Entwickler von Software-, Hardware- und Netzwerkprodukten unterstützen Sysinternals, indem sie Lizenzen erwerben, um unseren Code weiterzuverteilen. Im vergangenen Jahr haben wir jedoch eine Reihe von Softwares gefunden, von Trojanern bis hin zu kommerziellen Produkten von milliardenschweren Unternehmen, die nicht lizenzierten Sysinternals-Quellcode enthalten. In dem Bestreben, das Wachstum von Sysinternals und die legale Lizenzierung unserer Produkte zu gewährleisten, haben wir die Veröffentlichung des Quellcodes für einige unserer Produkte eingestellt, einschließlich der neuesten Filemon- und Regmon-Versionen. Wir werden kommerziellen Lizenznehmern weiterhin Quellcode zur Verfügung stellen. Wenn Sie gespiegelten Quellcode von Sysinternals entdecken, teilen Sie uns dies bitte mit.

DEBUGVIEW V4.2

DebugView ist ein sehr beliebtes Sysinternals-Hilfsprogramm, das Softwareentwickler verwenden, um von ihrer Software generierte Debugausgaben zu erfassen. Version v4.2 enthält eine Reihe von Verbesserungen und Funktionen, die von Benutzern vorgeschlagen wurden. Eine von Microsoft angeregte Option ermöglicht es Ihnen, Debugausgaben von Prozessen zu erfassen, die in der Konsolensitzung einer Terminaldienstumgebung ausgeführt werden, wenn Sie DebugView in einer Nicht-Konsolensitzung ausführen. V4.2 unterstützt erweiterte Befehlszeilenoptionen, mit denen Sie eine zu ladende Protokolldatei, die Tiefe des Verlaufs und weitere Verhaltensweisen beim Start angeben können. Zahlreiche Benutzer äußerten den Wunsch nach mehr und umfangreicheren Filtern, der Filterung nach Prozess-IDs und der Möglichkeit, Kommentare in die Ausgabe einzufügen, was mit der neuesten Version möglich ist. Das neue Release wird durch mehrere Fehlerbehebungen, eine bessere Unterstützung beim Extrahieren von Kerneldebugausgaben aus Absturzabbilddateien und verbesserte Sprechblasen für Text abgerundet, der die Breite der Ausgabespalte und sogar die Bildschirmbreite überschreitet.

Hier können Sie DebugView v4.2 herunterladen:
http://www.sysinternals.com/ntw2k/freeware/debugview.shtml

NEWSID V4.02

Das Problem der SID-Duplizierung (Sicherheits-ID) tritt auf, wenn Sie ein vorinstalliertes Windows-Image verwenden, um mehr als ein System bereitzustellen. Jeder Computer, der das Image gemeinsam nutzt, hat dieselbe interne Windows-SID. Dies ist ein Bezeichner, der vom Windows-Sicherheitssubsystem als Grundlage für lokale Gruppen- und Kontobezeichner verwendet wird. Aufgrund der Sicherheitsprobleme, die die gemeinsame Nutzung verursachen kann, ergreifen die meisten Administratoren Maßnahmen, um jedem Computer nachträglich eine eindeutige SID zuzuweisen, indem sie ein Tool zum Ändern der SID verwenden.

NewSID, der SID-Changer von Sysinternals, ist beliebt, weil er im Gegensatz zu anderen Changern, die auf DOS basieren oder voraussetzen, dass ein System frei von Add-On-Software ist, ein Win32-Programm darstellt, mit dem Sie Computern, auf denen Anwendungen installiert sind, eine neue SID zuweisen können. Version 4.02 ist ein wichtiges Update, das eine neue Assistentenoberfläche und zusätzlich Unterstützung für Windows XP bietet und die Umbenennung eines Computers ermöglicht.

Viele Administratoren hatten den Wunsch, die Fähigkeit von NewSID zu nutzen, eine von Ihnen angegebene SID anzuwenden. Dies kann bei der Migration von Installationseinstellungen zu einem anderen Computer oder bei einer Neuinstallation nützlich sein. Bei der Ausführung von NewSID vergrößert sich die Registrierung, wenn temporäre Sicherheitseinstellungen auf Teile der Registrierung anwendet werden, um sie zugänglich zu machen. Diese Vergrößerung kann dazu führen, dass die Registrierung ihr Größenkontingent überschreitet. Deshalb wird die Registrierung im letzten Arbeitsschritt durch eine neue Funktion in v4.02 auf ihre minimale Größe komprimiert.

Hier können Sie NewSID v4.02 herunterladen:
http://www.sysinternals.com/ntw2k/source/newsid.shtml

PSSHUTDOWN V2.01

Shutdown ist ein Tool, das Microsoft seit langem in das Windows Resource Kit aufgenommen hat und das in Windows XP-Installationen enthalten ist. Vor v2.01 war PsShutdown, das zum PsTools-Befehlszeilenverwaltungstoolkit von Sysinternals gehörte, einfach ein Klon von Shutdown. Bei der neuesten Version gehen die Fähigkeiten von PsShutdown jedoch weit über die von Shutdown hinaus. So können Sie z. B. ein System, das die Energieverwaltung unterstützt, herunterfahren und ausschalten, den Desktop sperren und den interaktiven Benutzer abmelden – und das alles auf dem lokalen oder einem Remotecomputer, ohne manuell Clientsoftware zu installieren.

Hier können Sie PsShutdown v2.01 herunterladen:
http://www.sysinternals.com/ntw2k/freeware/psshutdown.shtml
Hier können Sie die gesamte PsTools-Suite herunterladen:
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

AUTORUNS V2.02

Wir alle haben uns schon einmal über die Installation unerwünschter Applets geärgert, die bei der Anmeldung ausgeführt werden, und sind bei der Suche nach dem entsprechenden Startbefehl verzweifelt. Kein Wunder, dass Windows über fast zwei Dutzend Mechanismen für solche Aktivierungen verfügt. Das in Windows Me und XP enthaltene Hilfsprogramm MsConfig kann manchmal hilfreich sein, verfehlt aber etwa die Hälfte der möglichen Speicherorte für Startbefehle.

Das Sysinternals-Tools Autoruns, das von Bryce Cogswell und mir geschrieben wurde, verschafft Ihnen einen vollständigen Überblick. Es zeigt eine Liste aller möglichen Registrierungs- und Dateispeicherorte an, wo eine Anwendung beim Systemstart oder bei der Anmeldung automatisch ausgeführt werden kann. In der neuesten Version werden Symbol- und Versionsinformationen für jedes Image angezeigt, das für den Start konfiguriert wurde, um die Identifizierung zu erleichtern. Außerdem wurde die Benutzeroberfläche um ein Kontextmenü erweitert. Darüber hinaus identifiziert die neue Version mehr Startpunkte, einschließlich Anmelde- und Abmeldeskripte, Aufgaben der Aufgabenplanung, die bei der Anmeldung ausgeführt werden, und Startpunkte für Explorer-Add-Ons.

Hier können Sie Autoruns v2.01 herunterladen:
http://www.sysinternals.com/ntw2k/source/misc.shtml

SHAREENUM V1.3

Systemadministratoren übersehen häufig einen wichtigen Bereich der lokalen Netzwerksicherheit: freigegebene Ordner. Benutzer in einer Unternehmensumgebung geben häufig Ordner mit Dokumenten frei, um Kollegen in ihrer Gruppe den einfachen Zugriff zu ermöglichen. Leider versäumen es viele Benutzer, ihre Freigaben mit Einstellungen zu sperren, die den unbefugten Zugriff auf potenziell vertrauliche Informationen durch andere Mitarbeitende verhindern.

ShareEnum ist ein Sysinternals-Hilfsprogramm, das von Bryce Cogswell geschrieben wurde und Ihnen hilft, nicht autorisierte Freigaben zu identifizieren und die Sicherheit gültiger Freigaben zu erhöhen. Wenn Sie ShareEnum starten, verwendet das Tool die NetBIOS-Aufzählung, um Computer in Ihrem Netzwerk zu finden, und meldet die exportierten Freigaben zusammen mit Details zu den Sicherheitseinstellungen, die auf die Freigaben angewendet wurden. Innerhalb von Sekunden können Sie geöffnete Freigaben erkennen und auf eine Freigabe doppelklicken, um sie im Explorer zu öffnen und deren Einstellungen zu ändern. Sie können auch die Exportfunktion von ShareEnum verwenden, um Überprüfungen zu speichern und eine aktuelle Überprüfung mit einer zuvor gespeicherten zu vergleichen.

Hier können Sie ShareEnum v1.3 herunterladen:
http://www.sysinternals.com/ntw2k/source/shareenum.shtml

TCPVIEW V2.31

TCPView ist ein grafisches, mit Netstat vergleichbares Hilfsprogramm, das eine Liste der aktiven TCP- und UDP-Endpunkte eines Systems anzeigt. Bei Windows NT-, 2000-, XP- und Server 2003-Installationen wird der Prozess angezeigt, dem die einzelnen Endpunkte gehören. In der Version 2.31 wird zur leichteren Identifizierung das Symbol der Imagedatei eines Prozesses angezeigt.

Hier können Sie TCPView v2.31 herunterladen:
http://www.sysinternals.com/ntw2k/source/tcpview.shtml

BLUESCREEN V3.0

Der Bildschirmschoner Bluescreen of Death von Sysinternals ist seit vielen Jahren ein beliebter Download. Version 3.0 ist nun auch mit Windows XP kompatibel. Der Bildschirmschoner zeigt einen authentisch aussehenden Blue Screen of Death (BSoD) an, komplett mit Formatierung und zufälligen Details, die dem Betriebssystem entsprechen, auf dem er ausgeführt wird (z. B. Windows NT, 2000 oder XP). Nach einer Pause simuliert er einen Neustartzyklus und wiederholt anschließend einen anderen Absturzbildschirm. Er ist so überzeugend, dass David Solomon mich damit zum Narren gehalten hat, was ich ihm aber heimgezahlt habe. Verwenden Sie ihn als eigenen Bildschirmschoner oder, um Ihre Freunde und Kollegen hereinzulegen, aber vergewissern Sie sich vorher, dass Ihr Chef genügend Sinn für Humor hat, bevor Sie ihn in einem Produktionssystem installieren.

Hier können Sie Bluescreen v3.0 herunterladen:
http://www.sysinternals.com/ntw2k/freeware/bluescreensaver.shtml

SYSINTERNALS BEI WWW.MICROSOFT.COM

Dies ist die aktuelle Version der Sysinternals-Verweise in den Microsoft Knowledge Base-Artikeln (KB), die seit dem letzten Newsletter veröffentlicht wurden. Ich freue mich, dass sich die Gesamtzahl der KB-Verweise auf Sysinternals damit auf 41 erhöht hat.

  • ACC2000: Error Message: ActiveX Component Can't Create Object (ACC2000: Fehlermeldung: ActiveX-Komponente kann kein Objekt erstellen) http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q319841&

  • HOW TO: Troubleshoot ASP in IIS 5.0 (VORGEHENSWEISE: Problembehandlung für ASP in IIS 5.0) http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q309051&

  • OL2002: How to Create Trusted Outlook COM Add-ins (OL2002: Erstellen vertrauenswürdiger Outlook-COM-Add-Ins) http://support.microsoft.com/default.aspx?scid=KB;en-us;327657&

  • PRB: Error 80004005 "The Microsoft Jet Database Engine Cannot Open the File '(Unknown)'" (PRB: Fehler 80004005 „Die Microsoft Jet-Datenbank-Engine kann die Datei ‚(Unbekannt)‘ nicht öffnen“) http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q306269&

  • User Profile Unload Failure When You Start, Quit, or Log Off NetMeeting (Fehler beim Entladen des Benutzerprofils beim Starten, Beenden oder Abmelden von NetMeeting) http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q327612&

  • XADM: Error Message: Error 123: The Filename, Directory Name, or Volume Label Syntax Is Incorrect (XADM: Fehlermeldung: Fehler 123: Die Syntax für den Dateinamen, den Verzeichnisnamen oder die Volumebezeichnung ist falsch) http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q318746&

INTERNALS – INFORMATIONEN

NEUES VIDEO ZU XP/SERVER 2003 INTERNALS

Unser neues Videoupdate zu internen Änderungen in Windows XP/Server 2003 kann ab sofort vorbestellt werden. Als Ergänzung zu unserem bestehenden Videotutorial INSIDE Windows 2000 oder als eigenständiges Produkt bietet dieses neue Video Schulungen zu den Kerneländerungen in Windows XP und dem neuen Microsoft-Produkt Windows Server 2003, das im April auf den Markt kommen wird. Zu den behandelten Themen gehören Leistung, Skalierbarkeit, 64-Bit-Unterstützung, Dateisysteme, Zuverlässigkeit und Wiederherstellung.

Das Windows XP-/Server 2003-Update weist den gleichen interaktiven Stil wie sein Vorgänger auf. Blicken Sie 76 Minuten lang David Solomon und Mark Russinovich in einer hochkonzentrierten, intensiven Schulung über die Schulter. Es enthält Wiederholungsfragen, Laborübungen und ein gedrucktes Workbook und ist als DVD-Video und Windows-Medium auf CD-ROM erhältlich.

Da diese Videos mit Vollzugriff auf den Windows-Quellcode und Kontakt zum Entwicklungsteam entwickelt wurden, können Sie sicher sein, dass Sie die wahre Geschichte erfahren. Als ultimatives Kompliment hat Microsoft dieses Video für seine internen Schulungen weltweit lizenziert.

PROFITIEREN SIE BEIM KAUF VOR DEM 15. MÄRZ VON SPEZIELLEN PRE-RELEASE-PREISEN! Erwerben Sie INSIDE Windows 2000 für 950 USD, und erhalten Sie das Windows XP-/Server 2003-Update GRATIS! Das sind fast 40 % weniger als der kombinierte Verkaufspreis von 1.390 USD. Oder kaufen Sie das eigenständige Windows XP-/Server 2003-Videoupdate für nur 169 USD (195 USD Verkaufspreis). Weitere Lizenzkonfigurationen sind über die Website verfügbar. Bestellen Sie jetzt auf http://www.solsem.com/vid_purchase.html, um von diesem zeitlich begrenzten Angebot zu profitieren.

MARK RUSSINOVICH UND DAVID SOLOMON HALTEN IN BELLEVUE, WA (USA), SCHULUNGEN ZU DEN THEMEN INTERNALS UND PROBLEMBEHANDLUNG AB

Seien Sie dabei, wenn David Solomon und ich vom 21. bis 23. April in Bellevue (in der Nähe von Seattle, WA, USA) unseren dreitägigen Kurs zu den Internals von Windows 2000/XP/.NET Server abhalten. Basierend auf „Inside Windows 2000, 3. Ausgabe“ werden die Kernelarchitektur und die Zusammenhänge der wichtigsten Systemkomponenten und Mechanismen, wie Systemthreads, Systemaufrufe, Interrupt-Behandlung und das Starten und Herunterfahren behandelt. Erlernen Sie fortgeschrittene Techniken zur Problembehandlung mit den Tools von Sysinternals, und erfahren Sie, wie Sie Windbg für die allgemeine Absturzabbildanalyse verwenden. Zu den Internals der wichtigsten Subsysteme gehören Prozesse und Threads, die Threadplanung, die Speicherverwaltung, die Sicherheit, das E/A-System und der Cache-Manager. Wenn Sie die internen Abläufe des Betriebssystems verstehen, können Sie die Plattform effizienter nutzen und effektiver debuggen und Probleme beheben.

Informationen zur Registrierung und weitere Details finden Sie unter http://www.sysinternals.com/seminar.shtml.

COMMON CRITERIA-ZERTIFIZIERUNG FÜR WINDOWS 2000 SP3

Viele von Ihnen sind wahrscheinlich mit den Begriffen „Orange Book“ und C2 vertraut. Beide Begriffe beziehen sich auf einen veralteten Sicherheitsbewertungsstandard, der in den 1980er und 1990er Jahren von der US-Regierung zur Bewertung der Sicherheitsmerkmale von Software, einschließlich Betriebssystemen, verwendet wurde. Seit 1999 wurden die Bewertungen des Orange Book, die Teil der Kriterien für die Bewertung vertrauenswürdiger Computersysteme (TCSEC) des Verteidigungsministeriums waren, in das neuere Common Criteria-System (CC) übernommen. Das CC-System wurde von mehreren Nationen als internationaler Standard für Sicherheitsbewertungen vereinbart, der umfassender ist als die TCSEC und die veralteten englischen ITSEC-Bewertungen (Information Technology Security).

Wenn ein Anbieter seine Software nach der CC-Norm zertifizieren lässt, gibt er ein „Schutzprofil“ an, d. h. eine Reihe von Sicherheitsmerkmalen, und die Evaluierung gibt eine Vertrauenswürdigkeitsstufe an, die als Evaluation Assurance Level (EAL) bezeichnet wird und besagt, dass die Software die Anforderungen des Schutzprofils erfüllt. Es gibt 7 EALs mit höheren Vertrauenswürdigkeitsstufen, die auf ein höheres Vertrauen in die Zuverlässigkeit der Sicherheitsmerkmale der evaluierten Software hindeuten.

Microsoft hat vor einigen Jahren Windows 2000 für die CC-Bewertung gemäß den Controlled Access Protection Profiles eingereicht, was in etwa dem CC-Äquivalent der TCSEC C2-Bewertung entspricht. Im Oktober 2002 wurde die Evaluierung abgeschlossen. Das unabhängige Unternehmen Science Applications International Corporation (SAIC), das die Evaluierung durchgeführt hat, kam zu dem Ergebnis, dass Windows 2000 mit Service Pack 3 das Control Access Protection Profile mit einem Evaluation Assurance Level (EAL) von 4 plus Flaw Remediation erfüllt. Eine EAL von 4 gilt als die höchste Stufe, die von universeller Software erreicht werden kann, und die Fehlerbehebung (Flaw Remediation) bezieht sich auf den Windows Update-Mechanismus zur zeitnahen Anwendung von Sicherheitskorrekturen. Diese Bewertung entspricht der höchsten Stufe, die ein Betriebssystem bisher im Rahmen der CC erreicht hat.

VISUAL STUDIO: ÜBERWACHEN VON LASTERROR

Wenn Sie Anwendungen entwickeln, die auf der Win32-API basieren, haben Sie mit Sicherheit schon einmal Code geschrieben, der eine Win32-Funktion ausführt, aber aus irgendeinem Grund keine spezifischen Fehler meldet. In diesem Fall könnte dieser Tipp hilfreich sein. Indem Sie den @ERR,hr-Ausdruck in das Überwachungsfenster einfügen, sehen Sie die numerische und textuelle Darstellung des Werts, der als LastError-Variable des aktuellen Threads gespeichert ist, die dem von der Win32-Funktion GetLastError() zurückgegebenen Wert entspricht.

ERLÄUTERUNG DES REGISTRIERUNGSWERTS LAMEBUTTONTEXT

Falls Sie auf einem Windows 2000- oder XP-System die Regmon-Ablaufverfolgung zum Start einer Windows-Anwendung untersucht haben, haben Sie wahrscheinlich Verweise auf den Registrierungswert HKCU\Control Panel\Desktop\LameButtonText, normalerweise in Kombination mit einem NOTFOUND-Fehler, gesehen. Offensichtlich hat jemand bei Microsoft Sinn für Humor, aber wozu ist dieser Wert gut? Es stellt sich heraus, dass er den Text speichert, der in Windows-Betaversionen und Windows Release Candidates in den Titelleisten der Fenster zu sehen ist, in denen Sie aufgefordert werden, auf einen Link zu klicken, um Feedback zu geben. Es wäre toll, wenn Sie diese Funktion in Nicht-Vorabversionen von Windows aktivieren könnten, um benutzerdefinierten Text zu platzieren, aber leider ist diese Funktion in Produktionsversionen deaktiviert.

VERLAUF DER WINDOWS-ENTWICKLUNG

Paul Thurrott hat eine schöne dreiteilige Artikelserie über die Geschichte des Windows NT-Entwicklungsprozesses veröffentlicht. Sie finden ihn unter http://www.winsupersite.com/reviews/winserver2k3_gold1.asp.

SCHNELLE EINFÜHRUNG IN DIE ABSTURZABBILDANALYSE

Wenn ein System unmittelbar nach der Installation neuer Hardware oder Software abstürzt, liegt die Diagnose der Ursache auf der Hand. Manchmal treten Systemabstürze jedoch gelegentlich auf, und es gibt keinen erkennbaren Grund. In solchen Fällen besteht die einzige Möglichkeit, die Ursache des Absturzes zu ermitteln, in der Analyse eines Absturzabbilds. In diesem Tutorial beschreibe ich, wie die Online Crash Analysis (OCA) von Microsoft funktioniert und wie sie Ihnen die Antwort auf einen rätselhaften Absturz geben kann. Anschließend erkläre ich, wie Sie Ihre eigene Absturzanalyseumgebung einrichten, damit Sie einen Blick auf Abstürze werfen können, die von OCA nicht oder nicht erfolgreich analysiert werden können.

Microsoft hat OCA mit der Veröffentlichung von Windows XP als automatisierten Analysedienst eingeführt, der auf einem zentralisierten Repository mit Absturzinformationen basiert. Nachdem ein XP-System nach einem Absturz neu gestartet wurde, werden Sie aufgefordert, Absturzinformationen an die OCA-Website zu senden (http://oca.microsoft.com/en/Welcome.asp). Wenn Sie zustimmen, lädt XP eine XML-Datei, die Ihre grundlegende Systemkonfiguration beschreibt, zusammen mit einer Miniabbild-Absturzdatei von 64 KB hoch. Ein Miniabbild enthält eine kleine Menge an Daten, die für einen Absturz unmittelbar relevant sind, z. B. den Absturzcode, den Stapel des Threads, der zum Zeitpunkt des Absturzes ausgeführt wurde, eine Liste der im System geladenen Treiber und die Datenstrukturen, die den Prozess verwalten, der zum Zeitpunkt des Absturzes ausgeführt wurde.

Sobald OCA die Informationen erhält, werden sie analysiert und die Zusammenfassung der Analyse in einer Datenbank gespeichert. Wenn Sie der Aufforderung nach dem Hochladen folgen und die OCA-Website besuchen, haben Sie die Möglichkeit, die Analyse nachzuverfolgen. Dazu müssen Sie sich mit einem Passport-Konto anmelden. Geben Sie dann einen Namen für den Absturz und Text zur Beschreibung des Absturzes ein. Wenn die OCA-Engine den Absturz mit anderen Abstürzen in der Datenbank korreliert, für die Microsoft eine Ursache ermittelt hat, werden Sie per E-Mail benachrichtigt. Wenn Sie die Website erneut besuchen und den von Ihnen eingereichten Absturz nachschlagen, erfahren Sie in der Lösung, wo Sie ein Treiber- oder Betriebssystemupdate erhalten. Obwohl die OCA-Unterstützung zwar in XP integriert ist und Windows 2000-Absturzabbilddateien akzeptiert, bietet sie leider keine Unterstützung für NT 4 und ist (zumindest nach meiner Erfahrung) meist nicht in der Lage, die Absturzursachen zu ermitteln.

Um selbst eine Absturzanalyse durchzuführen, benötigen Sie geeignete Tools, die Microsoft in Form der Debugtools für Windows zur Verfügung stellt. Sie stehen zum Download bereit unter http://www.microsoft.com/ddk/Debugging/. Das Paket enthält unter anderem das Analysetool Windbg. Nachdem Sie die Tools heruntergeladen und installiert haben, führen Sie Windbg aus, und öffnen Sie das Dialogfeld unter „Datei|Symboldateipfad“. Dort teilen Sie Windbg mit, wo die Symboldateien für die Version des Betriebssystems zu finden sind, von dem ein Absturz verursacht wurde, den Sie analysieren. Sie können einen Pfad zu einem Verzeichnis angeben, in dem Sie Symbole installiert haben. Dazu müssen Sie jedoch Symboldateien für genau das Betriebssystem, das Service Pack und die Hotfixes abrufen, die auf dem abgestürzten System installiert sind. Die aktuellen Symboldateien manuell nachzuverfolgen, ist mühsam, und wenn Sie Abstürze verschiedener Systeme analysieren möchten, müssen Sie sich um verschiedene Symboldateisätze für die einzelnen Installationen kümmern.

Sie können Probleme mit Symboldateien vermeiden, indem Sie Windbg auf den Microsoft-Symbolserver verweisen. Wenn Sie Windbg für die Verwendung des Symbolservers konfigurieren, lädt das Tool bei Bedarf automatisch Symboldateien herunter, die auf dem von Ihnen geöffneten Absturzabbild basieren. Der Symbolserver speichert Symbole für NT 4- bis Server 2003-Betaversionen und Release Candidates, einschließlich Service Packs und Hotfixes. Die Syntax zum Verweisen von Windbg an den Symbolserver lautet srv*c:\symbols*http://msdl.microsoft.com/download/symbols. Ersetzen Sie c:\symbols durch das Verzeichnis, in dem Sie Symboldateien speichern möchten. Weitere Informationen zu Symbolen finden Sie unter http://www.microsoft.com/ddk/debugging/symbols.asp.

Es gibt noch einen weiteren Schritt, den Sie ausführen müssen, bevor Sie Absturzabbilder analysieren können: Sie müssen Ihre Systeme so konfigurieren, dass sie Absturzabbilder generieren. Öffnen Sie hierzu in der Systemsteuerung das Applet „System“, und klicken Sie unter Windows 2000 und höher auf der Seite „Erweitert“ auf die Schaltfläche „Starten/Herunterfahren“. Wechseln Sie unter NT 4 im Applet zur Registerkarte „Starten/Herunterfahren“. Auf NT 4-Systemen besteht die einzige Option für Absturzabbilder in einem vollständigen Speicherabbild. Dabei wird der gesamte Inhalt des physischen Speichers zum Zeitpunkt eines Absturzes in der von Ihnen angegebenen Datei gespeichert. Unter Windows 2000 und höher haben Sie drei Möglichkeiten. Sie können ein Miniabbild, Kernelabbild und vollständiges Abbild erstellen. Unter Windows 2000 sowie XP Professional und Home wird standardmäßig ein Miniabbild und unter Server standardmäßig ein vollständiges Abbild erstellt. Ändern Sie bei Arbeitsstationen/Clientcomputern die Einstellung von einem Miniabbild in ein Kernelabbild. Dabei werden nur Teile des physischen Speichers gespeichert, die zum Betriebssystem gehören (und nicht zu den Anwendungen). So wird die Größe der Absturzabbilddatei minimiert, und trotzdem werden alle Informationen zu den Kerneldatenstrukturen erfasst, die Windbg für eine effektive Absturzanalyse benötigt. Für Systeme unter Server sind vollständige Abbilder zwar in Ordnung, allerdings stellen Kernelabbilder eine sichere Wahl dar (und sind möglicherweise Ihre einzige Wahl, wenn Sie über ein sehr großes Speichersystem verfügen).

Jetzt können Sie einen Absturz analysieren. Sobald ein Absturz auftritt, laden Sie einfach die resultierende Abbilddatei in Windbg, indem Sie im Menü „Datei“ die Option zum Öffnen des Absturzabbilds auswählen. Während das Abbild geladen wird, beginnt Windbg mit der Verarbeitung, und Sie sehen Meldungen zur Betriebssystemversion und zum Laden von Symbolen. Anschließend wird eine Meldung mit dem Text „Bugcheck Analysis“ (Fehlercodeanalyse) angezeigt. Im Anschluss an die Meldung werden der Absturzcode und die zugehörigen Parameter sowie eine potenzielle Ursache für den Absturz ausgegeben.

In einigen Fällen reicht die hier von Windbg durchgeführte grundlegende Analyse aus, um den fehlerhaften Treiber oder die fehlerhafte Kernelkomponente zu identifizieren. Ich empfehle jedoch, immer den folgenden Befehl einzugeben: !analyze -v. Dieser Befehl führt zur selben Analyse, liefert jedoch mehr Informationen. Der Text erläutert beispielsweise die Bedeutung des Absturzcodes und der optionalen Parameter und enthält manchmal Tipps, was Sie als Nächstes versuchen sollten. Sie sehen auch eine Stapelüberwachung, d. h. eine Aufzeichnung der Funktionsausführung, die zu dem Code führt, in dem der Absturz aufgetreten ist. Wenn ein Treiber fehlerhafte Daten an den Kernel übergibt oder in der Analyse ein Treiber ermittelt wird, wird dessen Name möglicherweise in der Ablaufverfolgung angezeigt, sodass Sie ihn als mögliche Ursache identifizieren können.

Wenn Sie den Systemzustand zum Zeitpunkt des Absturzes eingehender untersuchen möchten, gibt es zahlreiche Windbg-Befehle, mit denen Sie die Liste der ausgeführten Prozesse, die geladenen Treiber, die Speicherauslastung und vieles mehr anzeigen können. Die Hilfedatei von Windbg enthält auch eine Fehlercodereferenz, die ich Ihnen empfehle, um weitere Informationen und Anleitungen zu erhalten. Wenn Sie dann immer noch nicht weiter wissen, sollten Sie in der Microsoft Knowledge Base (KB) nach dem Absturzcode suchen. Microsoft erstellt KB-Artikel für häufige Abstürze und leitet Sie zu Anbieterwebsites oder Hotfixes weiter, mit denen sich bestimmte Probleme beheben lassen.

Wenn Sie sehen möchten, wie ich diese Informationen live und anhand von Beispielen präsentiere, dann besuchen Sie mich auf einer der folgenden Konferenzen:

  • Seminar zum Thema Internals und Problembehandlung, das David und ich im April in Bellevue, WA (USA), abhalten werden
  • Windows & .NET Magazine Connections in Scottsdale, AZ (USA), im Mai: http://www.winconnections.com/win
  • TechEd US (Dallas) oder TechEd Europe (in Barcelona) diesen Sommer

Vielen Dank, dass Sie den Sysinternals-Newsletter gelesen haben.

Veröffentlicht am Mittwoch, 19. Februar 2003 um 16:47 Uhr von ottoh

[Newsletter-Archiv ^] [< Band 4, Nummer 3] [Band 5, Nummer 2 >]