Anzeigen / Ändern des Besitzers einer Datei unter Windows 7

14

Gibt es eine Möglichkeit, den Eigentümer von Ordnern und Dateien über die Befehlszeile in der Eingabeaufforderung von Windoews 7 anzuzeigen?

Können Sie den Besitzer eines Ordners oder einer Datei in einen "willkürlichen" Benutzer ändern, der nicht Ihr eigener Benutzername ist?

Ich habe einige Ordner (und Dateien), die wahrscheinlich von einer App übrig geblieben sind, die ich entfernt habe. Wenn ich versuche, den Inhalt der Ordner anzuzeigen, wird mir mitgeteilt, dass ich keine Berechtigung dazu habe, selbst wenn ich als "Administrator" angemeldet bin.

Ich kann den Besitz der Ordner (Dateien) übernehmen (ich gehe davon aus, dass dies erfolgreich sein wird, aber noch nicht ausprobiert wurde), aber wenn ich den Besitz an den vorherigen Besitzer zurückgeben muss, muss ich den Benutzernamen des Originals kennen Eigentümer, und ich muss in der Lage sein, diesem Benutzer "Eigentümer" zu geben.

Ist es möglich, dies über die Windows-Eingabeaufforderung (oder, falls nicht, über ein GUI-Tool) zu tun?

Kevin Fegan
quelle
Hier finden Sie eine Lösung, die ausschließlich cmd.exe verwendet: Abrufen von Besitzinformationen über die Befehlszeile mithilfe von wmic
schletti2000 21.07.16

Antworten:

17

Über den Befehl takeown und die Windows-GUI können Sie den Besitz von der Befehlszeile übernehmen .

Sie können den Eigentümer einer Datei / eines Ordners anzeigen, indem Sie das Verzeichnis mit dem Parameter / q verwenden

Sie können die Eigentumsrechte über die Windows-Benutzeroberfläche anzeigen (und übernehmen), indem Sie mit der rechten Maustaste auf das Objekt im Windows-Explorer (Datei oder Ordner) klicken, Eigenschaften auswählen und dann zur Registerkarte Sicherheit navigieren . Auf der Sicherheits Registerkarte klicken Sie auf die Erweiterte Schaltfläche und auf dem anschließend angezeigten Erweiterte Sicherheitseinstellungen Dialog, navigieren Sie zum Besitzer Registerkarte.

Sobald Sie den Besitz einer Datei / eines Ordners erlangt haben, verfolgt Windows den vorherigen Besitzer nicht mehr. Daher besteht keine Möglichkeit, zum vorherigen Besitzer zurückzukehren. Wenn Sie mit einem Dateisystemtyp arbeiten, der diese erweiterten Attribute nicht unterstützt, z. B. FAT16, FAT32, exFAT usw., gibt es auch kein Konzept für Eigentumsrechte oder Dateiberechtigungen.

Kunst
quelle
5

Sie können wmicdie Eigentumsinformationen folgendermaßen abfragen:

wmic path Win32_LogicalFileSecuritySetting where Path="C:\\windows\\winsxs" ASSOC /RESULTROLE:Owner /ASSOCCLASS:Win32_LogicalFileOwner /RESULTCLASS:Win32_SID

Nicht verwenden, dirda die Besitzinformationen möglicherweise abgeschnitten sind, wie in diesem Beispielverzeichnis.

Um eine Ausgabe zu erhalten, die mit formatiert ist DOMAIN\USER, können Sie das folgende Stapelskript verwenden:

@ECHO OFF
SETLOCAL EnableDelayedExpansion
REM Escpe the backslash with \\
SET ESCAPED=%~f1
SET ESCAPED=!ESCAPED:\=\\!

wmic path Win32_LogicalFileSecuritySetting where Path="!ESCAPED!" ASSOC /RESULTROLE:Owner /ASSOCCLASS:Win32_LogicalFileOwner /RESULTCLASS:Win32_SID > "%temp%\wmi.tmp"

for /F "skip=2 delims=€" %%G in ('type %temp%\wmi.tmp') do (call     :process_wmioutput "%%G")
goto :continue
:process_wmioutput
SET UNDELIMITED=%1
SET DELIMITED=!UNDELIMITED:  =€!
FOR /F "delims=€ tokens=10,12" %%G in ("!DELIMITED!") DO (ECHO %%H\%%G)
exit /B

:continue
schletti2000
quelle
3

SubInACL.exeHier können Sie den Eigentümer festlegen. Die Syntax sieht ungefähr so ​​aus:

SubInACL / Datei Dateiname / setowner = Neuereigentümer

Wenn Sie es nicht haben, können Sie es von Microsoft herunterladen .

Natürlich muss man die Rechte haben, um dies zu können.

Itsme2003
quelle
2

caclsund icalcskann Berechtigungen bearbeiten und takeownerlaubt den Besitz zu übernehmen. AFAIK gibt es auch in Windows 7. In der Regel führen Sie nach dem Ausführen von a die takeownfolgenden Schritte aus caclsoder icalcserteilen sich selbst Berechtigungen für das Objekt.

Das Sicherheitsmodell von Microsoft erlaubt nicht , jemandem das Eigentum zu geben , sondern es nur zu übernehmen . Auf diese Weise kann ein Administrator (oder ein anderweitig privilegierter Benutzer) nicht direkt auf eine für ihn unzugängliche Datei zugreifen, auf sie zugreifen oder sie ändern und sie dem ursprünglichen Besitzer ohne Benachrichtigung des ursprünglichen Besitzers zurückgeben.

Bearbeiten: Credit geht an Art für die Beschreibung der Verwendung von takeown.

David Foerster
quelle
1
cacls erlaubt es keinem, den Eigentümer einer Datei zu ändern oder anzuzeigen. Dazu würden Sie takeown verwenden. In der Regel führen Sie nach dem Ausführen eines Takeowns Calcs oder ICACLs aus, um sich selbst Berechtigungen für das Objekt zu erteilen.
Art
Danke, du hast vollkommen recht. Ich denke, es zeigt, dass ich zu lange nicht mehr in der Microsoft-Welt war, um mich an diese Dinge zu erinnern. Ich werde meine Antwort entsprechend bearbeiten.
David Foerster
2
Ich weiß, dass dies alt ist, aber ich dachte, dass ich hinzufügen würde, dass Sie den Besitzer mit icacls auf eine andere Person setzen können. icacls <Pfad> / SETOWNER <Name> funktioniert. Natürlich müssen Sie der Eigentümer sein oder über die entsprechenden Berechtigungen verfügen, bevor Sie dies tun können, damit Sie das Szenario festlegen und zurückgeben können, sofern Sie überhaupt die Möglichkeit haben, Eigentümer zu werden.
palehorse
Bei der letzten Überprüfung untersagt Windows die Übertragung des Eigentums auf ein anderes Konto als das, das die Übertragung durchführt.
David Foerster
@DavidFoerster - Demzufolge funktioniert die Wiederherstellung von 'TrustedInstaller' als Eigentümer für ausführbare Dateien im Windows-Ordner anscheinend. Ich habe es selbst noch nicht ausprobiert.
Kevin Fegan
-1

Wenn Sie nur DIRin der Microsoft-Welt verwenden, probieren Sie die /QOption aus.

Beispielsweise:

DIR *.xlsx /Q
user3029478
quelle
Dies ist ein Duplikat von Art's Antwort.
Fixer1234