Kostenlose Microsoft-Werkzeuge

Sysinternals - Gratis-Tools für die Verwaltung von Dateien und Datenträgern

21.10.2011 von Thomas Joos
Die kostenlosen Sysinternals-Programme von Microsoft sollen Administratoren bei ihren alltäglichen Aufgaben unterstützten. Grund genug, diese in einer Artikelserie eingehend vorzustellen. Den Anfang machen Werkzeuge zum Umgang mit Dateien und Datenträgern.

Microsoft gliedert seine kostenlosen Sysinternals-Tools in verschiedene Kategorien, wir widmen jeder Kategorie einen eigenen Beitrag. Mit diesen Tools richtet sich Microsoft an IT-Professionals im Allgemeinen und Administratoren im Besonderen.

Die Werkzeuge sollen Admins die Verwaltung, Problembehebung und Diagnose von Windows-Systemen und -Anwendungen erleichtern. Den Anfang machen ausgewählte Tools zum Umgang mit Dateien und Datenträgern.

AccessChk - Berechtigungen von Verzeichnissen und Registry überwachen

Mit AccessChk können Sie in der Befehlszeile eine ausführliche Liste ausgeben, welche Rechte ein Benutzer auf Dateien, Dienste oder Teile der Registry hat. Das Tool hilft dabei, die Berechtigungen auch für verschachtelte Verzeichnisstrukturen auszulesen. Die Syntax lautet:

accesschk [-s][-i][-r][-w][-n][-k][-c]|[-d]] <Benutzername> <Datei, Verzeichnis, Registrykey oder Dienst>

• -c - Diese Option verwenden Sie, wenn es sich um einen Dienst handelt. Wenn Sie den Platzhalter * eingeben, zeigt das Tool die Rechte für alle Systemdienste an.

• -d - Verarbeitet Verzeichnisse.

• -k - Diese Option liest Rechte in der Registry aus, zum Beispiel hklm\software.

• -n - Zeigt nur Objekte an, für die kein Zugriff besteht.

• -r - Zeigt nur Leserechte an.

• -w - Zeigt nur Schreibrechte an.

Wenn Sie sich beispielsweise die Rechte des Benutzers joost für ein Verzeichnis c:\einkauf anzeigen lassen wollen, verwenden Sie den Befehl

accesschk joost c:\einkauf

Bei jeder Datei erhalten Sie die Information, ob Leserechte (R), Schreibrechte (W) oder beides (RW) bestehen. Wollen Sie die Zugriffsberechtigungen für einen Benutzer für einen bestimmten Registrykey abprüfen, können Sie zum Beispiel den Befehl

accesschk -kns contoso\tami hklm\software

verwenden.

AccessChk: Mit AccessChk können Sie in der Befehlszeile ausgeben, welche Rechte ein Benutzer auf Dateien, Dienste oder Teile der Registry hat.

Geben Sie keinen Benutzernamen an, sondern nur ein Verzeichnis, zeigt AccessChk alle Benutzerkonten und deren Rechte auf das Verzeichnis an. AccessChk ist hervorragend für Skripte geeignet. Sie können das Tool aber auch mit einer grafischen Oberfläche bedienen. Dazu verwenden Sie AccessEnum aus den Sysinternal-Tools.

AccessEnum - Berechtigung mit grafischer Oberfläche auslesen

Mit AccessEnum aus den Sysinternals-Tools erhalten Sie eine grafische Oberfläche für AccessChk, mit der Sie Berechtigungen eines Benutzers oder einer ganzen Gruppe für Verzeichnisse oder Teile der Registry überprüfen können. Sie wählen in der Oberfläche ein Verzeichnis aus und lassen sich anschließend die Berechtigungen anzeigen.

Den Verzeichnisnamen sehen Sie in der Spalte Path, in der Spalte Read stehen die entsprechenden Rechte. Ein Anwender, der zum Beispiel Schreibrechte auf das Verzeichnis c:Sers\joost und alle darunterliegenden Verzeichnisse besitzt, aber über kein Schreibrecht auf das Verzeichnis c:Sers verfügt, wird mit dem Eintrag c:Sers\joost und dem Namen des Kontos in der Spalte Write dargestellt.

AccessEnum: Mit AccessEnum können Sie Berechtigungen für Verzeichnisse anzeigen lassen.

Über das Menü stehen Ihnen verschiedene Einstellungen zur Verfügung. Show Local System Account ist standardmäßig aktiviert. Deaktivieren Sie diese Option, ignoriert das Tool die Zugriffsrechte, die sich auf den lokalen System-Account (NT-AutoritätSystem) beziehen. Die Option File Display Options sorgt dafür, dass das Tool nur dann die Rechte von untergeordneten Objekten anzeigt, wenn diese von dem entsprechenden übergeordneten Objekt abweichen. Mit einem Klick auf die Spaltenüberschriften können Sie die Einträge sortieren. Über die Schaltfläche Registry können Sie auch innerhalb der Registry nach Berechtigungen scannen lassen.

Vor allem bei der Kontrolle der Berechtigungen für verschiedene Freigaben hilft das Tool, einen schnellen Überblick zu erhalten, welche Benutzer und Gruppen Zugrif auf die verschiedenen Verzeichnisse haben.

Diskext.exe - Datenträger in der Befehlszeile auslesen

Verwenden Sie mehrere Festplatten und unterschiedliche Partitionen auf einem Computer, kann diskext.exe Informationen schnell und einfach auslesen. Das Tool zeigt an, über welche physischen Festplatten sich eine Partition aufteilt und wo auf der physischen Festplatte eine Partition angelegt ist.

Diskext.exe ein Befehlszeilen-Tool. Sie können die Ausgabe mit

diskext >c:\tempdisk.txt

in eine Textdatei umleiten lassen, wenn Sie beispielsweise bei der Einrichtung eines Servers oder für Support-Zwecke eine Dokumentation anfertigen wollen.

Diskext.exe: Dieses Tool zeigt Festplatteninformationen auf der Befehlszeile an.

Zeigt zum Beispiel die Datenträgerverwaltung in Windows oder der Explorer ein Laufwerk nicht mehr an, können Sie über diskext.exe die Konfiguration der Laufwerke einblenden lassen. Unter Umständen können dann Dateispezialisten weiterhelfen, die die Daten auslesen und auf einen Blick sehen, welche Festplatten im Computer eingebaut sind und wie Sie diese konfiguriert haben.

Festplattenaktivität überwachen mit Diskmon

Diskmon zeigt alle Schreib- und Lesevorgänge der Festplatte in einem Fenster an. Sie sehen so den physischen Zugriff und die aktuellen Vorgänge auf der Festpatte. Ablesen lassen sich so Aktion, Sektor, Zeit, Dauer und auf welcher Festplatte der Computer aktuell etwas schreibt.

Sie haben die Möglichkeit, die Ausgabe auch in eine Logdatei zu speichern. Wenn Sie die Funktion Minimize to Tray Disk Light im Menü Options aktivieren, minimiert sich das Tool direkt in die Taskleiste und zeigt Ihnen die aktuelle Nutzung der Festplatte wie ein LED-Symbol an. Auf diese Weise sehen Sie den Festplattenzugriff auf den Server auch in einer Remote-Sitzung. In der minimierten Ansicht erscheinen Schreibzugriffe als rote und Lesezugriffe als grüne Anzeige. Klicken Sie auf das Symbol, öffnet sich wieder die ausführliche Ansicht. Wollen Sie das Tool gleich als Icon starten, verwenden Sie die Option diskmon /l (kleines L). Damit das Tool Daten auslesen kann, müssen Sie es mit Administratorrechten starten, wenn Sie die Benutzerkontensteuerung aktiviert haben.

Diskmon: Mit diesem Tool können Sie Festplattenzugriffe überwachen.

Windows Server 2008 R2 und Windows 7 blenden das Icon nach einiger Zeit aus. Um es dauerhaft einzublenden, klicken Sie in der Taskleiste auf die zwei kleinen Pfeile, um auch die ausgeblendeten Icons anzuzeigen. Wählen Sie Anpassen und dann für das Symbol die Option Symbol und Benachrichtigungen anzeigen. Um die Echtzeitanzeige zu deaktivieren, klicken Sie auf die kleine Lupe. Wenn Sie mit der Maus über ein Symbol fahren, erhalten Sie eine kleine Hilfe zur entsprechenden Schaltfläche. Sie können innerhalb des Capture-Fensters auch nach bestimmten Einträgen suchen. Mit History Depth legen Sie die maximale Anzahl an Daten fest, die Sie in der grafischen Oberfläche anzeigen lassen wollen.

Diskmon ermöglicht auch den Start mehrerer Instanzen. Wenn Sie das Tool zum Beispiel automatisch als LED minimiert starten, lässt es sich dennoch noch einmal parallel starten, sodass die LED aktiv bleibt, auch wenn Sie mit Diskmon arbeiten.

Große Dateien finden und Festplatte analysieren mit DiskView

DiskView zeigt in einer grafischen Oberfläche die Dateien auf dem Datenträger an und informiert Sie drüber, wie viel Speicherplatz diese belegen. Über Highlight wählen Sie Dateien aus, die DiskView hervorheben soll. Per Klick auf eine einzelne Datei sehen Sie, wie viel Speicherplatz die Datei verbraucht. Klicken Sie doppelt auf einen Bereich, erhalten Sie weitere Informationen.

DiskView: Damit lässt sich die Festplatte eingehend analysieren.

Im unteren Bereich wählen Sie den Datenträger aus, den das Tool scannen soll, sowie den Zoom-Level. DiskView hilft Ihnen auch, die Fragmentierung einer Datei anzuzeigen. Mit dem Tool können Sie für Festplatten genau angeben, auf welchem Cluster sich welche Datei befindet. Die Ausgabe können Sie auch exportieren, etwa zur Weitergabe an einen anderen Administrator

Das Tool hilft, große Dateien auf den Datenträgern aufzuspüren, etwa um Speicherplatzfresser zu eliminieren oder auf andere Datenträger auszulagern. Zoomen Sie im unteren Bereich bis auf die einzelnen Cluster des Datenträgers und lassen Sie sich per Klick auf einen Cluster anzeigen, welche Datei im entsprechenden Bereich gespeichert ist. Außerdem hebt Diskview alle weiteren Cluster hervor, in denen diese Datei ebenfalls gespeichert ist.

Disk Usage - Speicherverbrauch in der Befehlszeile anzeigen

Wollen Sie sich den Speicherverbrauch von Verzeichnissen auslesen lassen, ist das Befehlszeilen-Tool du.exe (Disk Usage) eine effiziente Möglichkeit, die auch in Skripten funktioniert.

Disk Usage: Mit diesem Tool können Sie die Verzeichnisgröße auf Kommandozeilenebene ausgeben lassen.

Das Tool zeigt auch den Plattenverbrauch aller untergeordneten Verzeichnisse an. Sie haben mehrere Möglichkeiten, es zu verwenden:

du [[-v] [-l ] | [-n]] [-q] <Datei oder Verzeichnis>.

• -l - Legt die Verzeichnistiefe fest, für die das Tool den Plattenverbrauch messen soll.

• -n - Keine Rekursion.

• -q - Werbebanner von Sysinternals unterdrücken.

• -v - Ausführliche Informationen der Verzeichnisse anzeigen.

Die einfachste Verwendung ist du <Verzeichnisname>. Sie können mit dem Tool auch weitere Verzeichnisse abfragen und in einem Skript integrieren. Auf diese Weise lassen sich Verzeichnisgrößen effizient in Skripten abfragen. Enthält die Bezeichnung des Verzeichnisses Leerzeichen, müssen Sie diese in Anführungszeichen setzen

Einzelne Dateien und Verzeichnisse defragmentieren mit Contig

Sie haben in den Eigenschaften der Datenträger die Möglichkeit, komplette Datenträger zu defragmentieren. Bei diesem Vorgang fasst Windows alle Datenträger-Cluster, in denen Bereiche der Dateien gespeichert sind, zu einem zusammenhängenden Bereich zusammen. Der Defragmentierungsvorgang des Datenträgers defragmentiert den Datenträger als Ganzes und übergeht dabei eventuell einige Dateien, für die eine Defragmentierung nicht möglich ist.

Sie haben aber auch die Möglichkeit, einzelne Dateien oder ganze Verzeichnisse zu defragmentieren, um sicherzustellen, dass der Zugriff auf diese Datei beschleunigt stattfinden kann. Dazu nutzen Sie das Tool contig.exe. Das Tool defragmentiert dazu die ausgewählte Datei und sorgt dafür, dass die Cluster der Datei auf dem Datenträger in einem aneinanderhängenden Bereich liegen. Contig verwendet die Windows-Defragmentierungstechnologie und stellt dadurch sicher, dass es nicht zu einer Datenträgerbeschädigung kommt. Das Tool arbeitet über die Befehlszeile. Die Syntax dazu ist:

contig [-v] [-a] [-q] [-s] [Dateiname]

• -v - Gibt Informationen zum Vorgang aus.

• -a - Führt nur eine Analyse durch und defragmentiert nicht.

• -s - Geben Sie einen Dateinamen mit Platzhaltern an, können Sie mehrere Dateien in einem bestimmten Verzeichnis defragmentieren, zum Beispiel contig -s c:\einkauf\*.docx.

• -q - Führt das Tool im stillen Modus aus und gibt keinerlei Informationen zurück.

Nach dem Start scannt contig den Datenträger und findet dabei die Speicherorte der Datei, sowie die freien Bereich der Festplatte. Wollen Sie in einem Verzeichnis alle Dateien defragmentieren, verwenden Sie den Befehl

contig -s *

Wollen Sie nur bestimmte Dateien defragmentieren, verwenden Sie beispielsweise den Befehl

contig -s *.docx

für alle docx-Dateien. Sie erhalten nach Abschluss Informationen über die Vorgänge, die das Tool durchgeführt hat.

contig in das Kontext-Menü des Windows-Explorer einbinden

contig lässt sich direkt in das Kontextmenü des Explorers einbinden. Auf diese Weise können Sie Dateien oder Verzeichnisse bequem im Windows-Explorer defragmentieren. Sie müssen dazu die Registry auf dem Computer bearbeiten. Zunächst kopieren Sie contig.exe in das Windows-Verzeichnis auf dem Computer.

Erstellen Sie am besten eine neue Textdatei und geben Sie dieser den Namen defrag.reg. Nehmen Sie in der Datei folgenden Inhalt auf:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\contig]

@="Defragmentieren"

[HKEY_CLASSES_ROOT\Directory\shell\contig\command]

@="cmd.exe /c contig.exe \"%L\\*.*\" -v -s"

Klicken Sie anschließend doppelt auf die Datei, um die Daten in die Registry zu integrieren. Wollen Sie den Eintrag im Kontextmenü wieder löschen, entfernen Sie die erstellten Einträge in der Registry am besten manuell.

Contig defragmentiert die Dateien und Verzeichnisse auf physikalischer Ebene, also in den Clustern der Festplatte, in der die Daten gespeichert sind. Das Tool defragmentiert nicht innerhalb der Dateien, wie zum Beispiel eseutil.exe für Exchange-Datenbanken. Sie können mit contig.exe ebenfalls Exchange-Datenbanken nach der Offline-Defragmentierung durch eseutil auch auf physikalischer Ebene defragmentieren. Dazu muss der Systemdienst Microsoft-Exchange-Informationsspeicher beendet sein. Führen Sie vor der Defragmentierung erst eine Sicherung der Datei durch, um einen Datenverlust zu verhindern.

Dateien per Skript ersetzen und löschen - Movefile.exe und PendMoves.exe

Wenn Sie Dateien austauschen müssen, die aktuell in Benutzung sind, erfordert dies in aller Regel einen Neustart des Rechners. Sie haben mit Sysinternals-Tools aber die Möglichkeit, Windows so zu konfigurieren, dass Windows automatisch beim nächsten Start bestimmte Aktionen mit Dateien durchführt, die aktuell in Benutzung sind.

Movefile und PendMoves: Mit den beiden Tools Movefile und PendMoves können Sie Dateien beim Neustart von Windows löschen oder verschieben.

Mit den beiden Tools PendMoves und MoveFile können Sie diese Aktionen durchführen. Die Tools verwenden dazu die Registry, um Befehle zu hinterlegen, die den Umgang mit den entsprechenden Dateien steuern. Eine Rolle spielt dabei der Registryschlüssel.

HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations

Mit Pendmoves lesen Sie aus, welche Dateien Windows beim nächsten Neustart löschen oder verschieben soll. MoveFile steuert den Vorgang. Die Syntax des Tools lautet

movefile <Quelle> <Ziel>

Geben Sie als Ziel "" ein, löscht Windows die Datei beim nächsten Neustart.

Der Umgang mit den Tools ist nicht sehr kompliziert und erlaubt eine weitgehende Automatisierung des Austauschs oder Löschen von Dateien, die in Benutzung sind. Sie können auch mehrere Dateien auf einmal ersetzen, indem Sie eine Batch-Datei oder ein Skript schreiben. (mje)

Dieser Artikel basiert auf einem Beitrag der CW-Schwesterpublikation TecChannel.