Jak wyświetlić / zmienić właściciela pliku w systemie Windows 7


14

Czy istnieje sposób wyświetlania właściciela folderów i plików z wiersza poleceń w wierszu polecenia Windoews 7?

Czy możesz zmienić właściciela folderu lub pliku na „dowolnego” użytkownika, który nie jest Twoją własną nazwą użytkownika?

Mam kilka folderów (i plików), które prawdopodobnie pozostały z aplikacji, którą usunąłem. Jeśli spróbuję wyświetlić zawartość folderów, to powiedzą mi, że nie mam na to pozwolenia, nawet jeśli działam jako „Administrator”.

Mogę „przejąć na własność” (zakładam, że to się powiedzie, ale jeszcze tego nie wypróbowałem) folderów (plików), ale jeśli muszę przywrócić poprzedniego właściciela, muszę znać nazwę użytkownika oryginalnego właściciela i muszę być w stanie „przekazać własność” temu użytkownikowi.

Czy można to zrobić z wiersza polecenia systemu Windows (a jeśli nie, z GUI-Tool)?


Zobacz tutaj rozwiązanie wykorzystujące wyłącznie cmd.exe: Uzyskaj informacje o własności z wiersza poleceń, używając wmic
schletti2000

Odpowiedzi:


18

Możesz przejąć własność z wiersza poleceń za pomocą polecenia takeown i interfejsu GUI systemu Windows.

Możesz wyświetlić właściciela pliku / folderu, używając DIR z parametrem / q

Możesz wyświetlić (i przejąć) własność za pomocą graficznego interfejsu użytkownika systemu Windows, klikając prawym przyciskiem myszy obiekt w Eksploratorze Windows (plik lub folder), wybierając Właściwości, a następnie przechodząc do karty Zabezpieczenia . Na karcie Zabezpieczenia kliknij przycisk Zaawansowane , a następnie w wyświetlonym następnie oknie dialogowym Zaawansowane ustawienia zabezpieczeń przejdź do karty Właściciel .

Po przejęciu własności pliku / folderu system Windows nie śledzi poprzedniego właściciela, więc nie ma możliwości powrotu do poprzedniego właściciela. Ponadto nie istnieje pojęcie własności ani uprawnień do plików, jeśli pracujesz z typem systemu plików, który nie obsługuje tych rozszerzonych atrybutów, takich jak FAT16, FAT32, exFAT itp.


5

Możesz użyć wmicdo zapytania informacji o własności w ten sposób:

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

Nie używaj, dirponieważ informacje o własności mogą zostać przycięte, jak w tym przykładowym katalogu.

Aby uzyskać wynik sformatowany za pomocą DOMAIN\USER, możesz użyć następującego skryptu wsadowego:

@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

3

SubInACL.exepozwala ustawić właściciela. Składnia wygląda mniej więcej tak:

SubInACL / file filename / setowner = NewOwner

Jeśli go nie masz, możesz pobrać go z firmy Microsoft .

Oczywiście musisz mieć prawa, aby móc to zrobić.


2

caclsi icalcsmoże edytować uprawnienia i takeownpozwala przejąć własność. AFAIK istnieją również w systemie Windows 7. Zazwyczaj po wykonaniu tej czynności takeownwykonuje się ją caclslub icalcsprzyznaje sobie uprawnienia do obiektu.

Model bezpieczeństwa Microsoftu nie zezwala na przekazanie komuś własności, a jedynie na przejęcie go. W ten sposób administrator (lub w inny sposób uprzywilejowany użytkownik) nie może przejąć na własność pliku niedostępnego dla niej bezpośrednio, uzyskać do niego dostępu lub zmodyfikować go i zwrócić go pierwotnemu właścicielowi bez uprzedniego powiadomienia pierwotnego właściciela.

Edycja: Kredyt trafia do sztuki za opis użycia takeown.


1
cacls nie pozwala zmieniać ani wyświetlać właściciela pliku. W tym celu skorzystasz z takeown . Zazwyczaj po zrobieniu zdjęcia podążasz za nim łydkami lub icaclami, aby przyznać sobie uprawnienia do obiektu.
Art.

Dzięki, masz całkowitą rację. Wydaje mi się, że to pokazuje, że zbyt długo byłem poza światem Microsoft, aby pamiętać te rzeczy. Zmienię odpowiednio moją odpowiedź.
David Foerster,

2
Wiem, że to jest stare, ale pomyślałem, że dodam, że możesz ustawić właściciela innej osobie za pomocą icacl. icacls <ścieżka> / SETOWNER <nazwa> działa. Oczywiście, zanim będziesz mógł to zrobić, musisz być właścicielem lub mieć odpowiednie uprawnienia, abyś mógł wprowadzić scenariusz przejęcia i oddania go pod warunkiem, że będziesz w stanie przejąć własność.
palehorse

Ostatnim razem, gdy sprawdzałem, Windows zabrania przeniesienia własności na inne konto, z wyjątkiem tego, które wykonuje przeniesienie.
David Foerster,

@DavidFoerster - Zgodnie z tym: Przywracanie „TrustedInstaller” jako właściciela pliku wykonywalnego w folderze Windows wydaje się, że będzie działać. Sam jeszcze tego nie próbowałem.
Kevin Fegan

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.