Cara menampilkan / mengubah pemilik file di Windows 7

14

Apakah ada cara untuk menampilkan pemilik folder dan file dari baris perintah di command prompt Windoews 7?

Bisakah Anda mengubah pemilik folder atau file menjadi pengguna "sewenang-wenang" yang bukan nama pengguna Anda sendiri?

Saya memiliki beberapa folder (dan file) yang mungkin tersisa dari aplikasi yang telah saya hapus. Jika saya mencoba melihat isi folder saya yang memberi tahu saya tidak memiliki izin untuk melakukannya, bahkan jika saya berjalan sebagai "Administrator".

Saya dapat "Mengambil kepemilikan" (saya menganggap ini akan berhasil tetapi belum mencobanya) dari folder (file), tetapi jika saya perlu mengembalikan kepemilikan ke pemilik sebelumnya, saya perlu tahu nama pengguna asli pemilik, dan saya harus bisa "memberikan kepemilikan" kepada pengguna itu.

Apakah mungkin untuk melakukan ini dari command prompt Windows (atau jika tidak, dari GUI-Tool)?

Kevin Fegan
sumber
Lihat di sini untuk solusi murni menggunakan cmd.exe: Dapatkan informasi kepemilikan dari baris perintah dengan menggunakan wmic
schletti2000

Jawaban:

17

Anda dapat mengambil kepemilikan dari baris perintah melalui perintah takeown dan melalui GUI Windows.

Anda dapat melihat pemilik file / folder dengan menggunakan DIR dengan parameter / q

Anda dapat melihat (dan mengambil) kepemilikan melalui GUI Windows dengan mengklik kanan objek di Windows Explorer (file atau folder), memilih Properties kemudian menavigasi ke tab Security . Pada tab Keamanan , klik tombol Tingkat Lanjut dan pada dialog Pengaturan Keamanan Tingkat Lanjut yang ditampilkan kemudian , navigasikan ke tab Pemilik .

Setelah Anda mengambil kepemilikan file / folder, Windows tidak melacak pemilik sebelumnya, jadi tidak ada cara untuk kembali ke pemilik sebelumnya. Juga, tidak ada konsep kepemilikan atau izin file jika Anda bekerja dengan tipe sistem file yang tidak mendukung atribut diperluas ini seperti FAT16, FAT32, exFAT, dll.

Seni
sumber
5

Anda dapat menggunakan wmicuntuk menanyakan informasi kepemilikan seperti ini:

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

Jangan gunakan dirkarena info kepemilikan mungkin terpotong, seperti dengan direktori contoh ini.

Untuk mendapatkan hasil yang diformat dengan DOMAIN\USERAnda dapat menggunakan skrip batch berikut:

@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
sumber
3

SubInACL.exememungkinkan Anda mengatur pemiliknya. Sintaksnya terlihat seperti:

SubInACL / nama file file / setowner = NewOwner

Jika Anda tidak memilikinya, Anda dapat mengunduhnya dari Microsoft .

Tentu saja Anda harus memiliki hak untuk dapat melakukan ini.

Itsme2003
sumber
2

caclsdan icalcsdapat mengedit izin dan takeownmemungkinkan untuk mengambil kepemilikan. AFAIK mereka ada di Windows 7 juga. Biasanya, setelah Anda melakukan takeown, Anda menindaklanjutinya dengan caclsatau icalcsuntuk memberi diri Anda izin ke objek.

Model keamanan Microsoft tidak mengizinkan untuk memberikan kepemilikan kepada seseorang, hanya untuk mengambilnya . Dengan cara itu admin (atau pengguna istimewa) tidak dapat mengambil kepemilikan file yang tidak dapat diakses secara langsung, mengakses atau memodifikasinya, dan mengembalikannya kepada pemilik asli tanpa pemberitahuan kepada pemilik asli.

Sunting: Kredit diberikan ke Seni untuk uraian penggunaan takeown.

David Foerster
sumber
1
CACL tidak memungkinkan seseorang untuk mengubah atau melihat pemilik file. Anda akan menggunakan takeown untuk melakukan itu. Biasanya, setelah Anda melakukan takeown, Anda menindaklanjutinya dengan calcs atau icacl untuk memberikan diri Anda izin ke objek.
Seni
Terima kasih, Anda sepenuhnya benar. Saya kira itu menunjukkan bahwa saya sudah terlalu lama keluar dari dunia Microsoft untuk mengingat hal-hal itu. Saya akan mengedit jawaban saya sesuai.
David Foerster
2
Saya tahu ini sudah tua, tetapi saya pikir saya akan menambahkan bahwa Anda dapat mengatur pemiliknya ke orang lain menggunakan icacls. icacls <path> / SETOWNER <name> berfungsi. Tentu saja Anda harus menjadi pemilik atau memiliki izin yang tepat sebelum Anda dapat melakukannya sehingga Anda dapat membuat skenario mengambil kepemilikan dan mengembalikannya asalkan Anda memiliki kemampuan untuk mengambil kepemilikan di tempat pertama.
palehorse
Terakhir kali saya memeriksa, Windows melarang transfer kepemilikan ke akun lain kecuali ke yang melakukan transfer.
David Foerster
@DavidFoerster - Menurut ini: Mengembalikan 'TrustedInstaller' sebagai pemilik untuk dieksekusi di folder Windows , tampaknya itu akan berfungsi. Saya belum mencobanya sendiri.
Kevin Fegan
-1

Jika menggunakan hanya DIRdi dunia Microsoft, coba /Qopsi.

Sebagai contoh:

DIR *.xlsx /Q
pengguna3029478
sumber
Ini adalah duplikat dari jawaban Art.
fixer1234