Windows: Nicht löschbare Dateien löschen

    Besitz übernehmen und Rechte setzen – dann kann man löschen (komprimierte Darstellung der Ausgabe)Zuweilen kommt es vor, dass Windows sich hartnäckig weigert, bestimmte Dateien zum Löschen freizugeben. Das geschieht etwa nach dem Löschen von Benutzer­profilen: Hatte der Benutzer Rechte für seine Dateien und Verzeichnisse individuell vergeben und dabei die für Ad­minis­tra­toren und das System entfernt, sind diese für den Ad­minis­tra­tor zunächst nicht löschbar. Selbst wenn es das betreffende Benutzerkonto gar nicht mehr gibt, sind die ACLs mit dessen UID/GID noch mit der Datei verbunden.

    Ähnlich ist es mit Hinter­lassenschaften nicht komplett deinstallierter Programme: Sie gehören eventuell weder dem Ad­minis­tra­tor noch dem System, sondern unter Vista, Windows 7 und Windows Server 2008 (R2) einem Dienst namens „TrustedInstaller“, und zwar diesem allein.

    Eigentum übernehmen und Rechte setzen

    In diesen Fällen muss der Ad­minis­tra­tor nicht löschbare Dateien zunächst in sein Eigentum überführen und die Rechte entsprechend setzen, um sie anschließend löschen zu können. Rekursiv funktioniert dies in einer Eingabe­auf­forde­rung mit Ad­minis­tra­torrechten weitaus reibungsloser und mit weniger Aufwand als in der Explorer-GUI.

    Zunächst kann man sich mittels des Kommandos whoami versichern, dass man wirklich als Ad­minis­tra­tor angemeldet ist. Dann übernimmt man per

    takeown /f ‹Verzeichnisname› /r /d y

    Besitz übernehmen und Rechte setzen – dann kann man löschen (komprimierte Darstellung der Ausgabe)den Besitz des fraglichen Verzeichnisses. Die Parameter hinter dem Verzeichnisnamen sorgen dafür, dass der Befehl rekursiv durch alle Unterver­zeichnisse läuft und alle Prompts, ob deren Besitz dabei ebenfalls übernommen werden soll, positiv beantwortet werden. Per Design übernimmt man den Besitz immer selbst. Abweichend davon kann man mittels /a festlegen, ihn der Ad­minis­tra­toren-Gruppe zu übertragen. Auch kann man nach dem Parameter /u einen abweichenden Benutzer­kontext angeben, in dem der Befehl laufen soll.

    Mittels

    icacls ‹Verzeichnisname› /grant Ad­minis­tra­toren:F /t

    erteilt man dann der Ad­minis­tra­toren-Gruppe alle Rechte aus dem Verzeichnis (hier sorgt /t für die rekursive Anwendung) und kann zu guter Letzt mittels

    rd /s /q ‹Verzeichnisname›

    löschen.

    Lokalisierten Benutzer-und Gruppennamen ermitteln

    Der Befehl icacls funktioniert etwa auf einem englischsprachigen Windows nicht wie oben angegeben – hier heißt die entsprechende Gruppe „Ad­minis­tra­tors“ und behält diesen Namen auch, wenn Windows mittels eines installierbaren Sprachpakets auf eine andere Anzeigesprache umgestellt wurde. Mit Hilfe von

    whoami /groups

    kann man im Zweifel innerhalb der Ein­gabe­auf­for­derung feststellen, wie die korrekten Namen für den Ad­minis­tra­tor beziehungsweise die Ad­minis­tra­toren-Gruppe auf einem System sind.

    Keine Kommentare