Cách hiển thị / thay đổi chủ sở hữu của một tệp trên Windows 7


14

Có cách nào để hiển thị chủ sở hữu của các thư mục và tệp từ dòng lệnh trong dấu nhắc lệnh của Windoews 7 không?

Bạn có thể thay đổi chủ sở hữu của một thư mục hoặc tệp thành một số người dùng "tùy ý" không phải là tên người dùng của riêng bạn không?

Tôi có một số thư mục (và tệp) có thể còn sót lại từ một ứng dụng mà tôi đã xóa. Nếu tôi cố gắng xem nội dung của các thư mục thì tôi đã nói rằng tôi không được phép làm như vậy, ngay cả khi tôi đang chạy với tư cách là "Quản trị viên".

Tôi có thể "Nhận quyền sở hữu" (Tôi cho rằng việc này sẽ thành công nhưng chưa thử) các thư mục (tệp), nhưng nếu tôi cần hoàn trả quyền sở hữu cho chủ sở hữu trước đó, tôi cần biết tên người dùng của bản gốc chủ sở hữu và tôi cần có khả năng "trao quyền sở hữu" cho người dùng đó.

Có thể thực hiện việc này từ dấu nhắc lệnh của Windows (hoặc nếu không, từ GUI-Tool)?


Xem ở đây để biết giải pháp hoàn toàn bằng cmd.exe: Nhận thông tin quyền sở hữu từ dòng lệnh bằng cách sử dụng wmic
schletti2000

Câu trả lời:


17

Bạn có thể sở hữu từ dòng lệnh thông qua lệnh Takeown và thông qua GUI Windows.

Bạn có thể xem chủ sở hữu của một tệp / thư mục bằng cách sử dụng tham số DIR với tham số / q

Bạn có thể xem quyền sở hữu (và nhận) thông qua GUI Windows bằng cách nhấp chuột phải vào đối tượng trong Windows Explorer (tệp hoặc thư mục), chọn Thuộc tính và sau đó điều hướng đến tab Bảo mật . Trên tab Bảo mật , nhấp vào nút Nâng cao và trên hộp thoại Cài đặt Bảo mật Nâng cao được hiển thị sau đó , điều hướng đến tab Chủ sở hữu .

Khi bạn đã sở hữu một tập tin / thư mục, Windows không theo dõi chủ sở hữu trước đó, vì vậy không có cách nào để hoàn nguyên về chủ sở hữu trước đó. Ngoài ra, không có khái niệm về quyền sở hữu hoặc quyền truy cập tệp nếu bạn đang làm việc với loại hệ thống tệp không hỗ trợ các thuộc tính mở rộng này như FAT16, FAT32, exFAT, v.v.


5

Bạn có thể sử dụng wmicđể truy vấn thông tin sở hữu như thế này:

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

Không sử dụng dirvì thông tin quyền sở hữu có thể bị cắt bớt, như với thư mục ví dụ này.

Để có được một đầu ra được định dạng với DOMAIN\USERbạn có thể sử dụng tập lệnh bó sau:

@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.execho phép bạn thiết lập chủ sở hữu. Cú pháp trông giống như:

SubInACL / tên tệp / setowner = NewOwner

Nếu bạn không có nó, bạn có thể tải xuống từ Microsoft .

Tất nhiên bạn phải có quyền để có thể làm điều này.


2

caclsicalcscó thể chỉnh sửa quyền và takeowncho phép sở hữu. AFAIK họ cũng tồn tại trong Windows 7. Thông thường, một khi bạn làm một takeown, bạn theo dõi nó caclshoặc icalcstự cấp quyền cho đối tượng.

Mô hình bảo mật của Microsoft không cho phép trao quyền sở hữu cho ai đó, chỉ để lấy nó. Bằng cách đó, quản trị viên (hoặc người dùng đặc quyền khác) không thể trực tiếp sở hữu một tệp không thể truy cập được, truy cập hoặc sửa đổi nó và trả lại cho chủ sở hữu ban đầu mà không cần thông báo cho chủ sở hữu ban đầu.

Chỉnh sửa: Tín dụng vào Nghệ thuật để mô tả việc sử dụng takeown.


1
cacls không cho phép một người thay đổi hoặc xem chủ sở hữu của một tập tin. Bạn sẽ sử dụng Takeown để làm điều đó. Thông thường, một khi bạn thực hiện, bạn theo dõi nó bằng calcs hoặc icacls để cấp quyền cho đối tượng.
Nghệ thuật

Cảm ơn, bạn hoàn toàn đúng. Tôi đoán điều đó cho thấy rằng tôi đã rời khỏi thế giới Microsoft quá lâu để nhớ những điều đó. Tôi sẽ chỉnh sửa câu trả lời của tôi cho phù hợp.
David Foerster

2
Tôi biết điều này đã cũ, nhưng tôi nghĩ rằng tôi sẽ thêm rằng bạn có thể đặt chủ sở hữu cho người khác bằng icacls. icacls <path> / SETOWNER <name> hoạt động. Tất nhiên bạn cần phải là chủ sở hữu hoặc có quyền thích hợp trước khi bạn có thể làm điều đó để bạn có thể ban hành kịch bản giành quyền sở hữu và trả lại với điều kiện bạn có khả năng nắm quyền sở hữu ngay từ đầu.
nhợt nhạt

Lần trước tôi đã kiểm tra, Windows cấm chuyển quyền sở hữu sang tài khoản khác ngoại trừ tài khoản thực hiện chuyển tiền.
David Foerster

@DavidFoerster - Theo đó: Khôi phục 'TrustedInstaller' làm chủ sở hữu để thực thi trong thư mục Windows , có vẻ như nó sẽ hoạt động. Tôi chưa thử nó lần nào.
Kevin Fegan

-1

Nếu chỉ sử dụng DIRtrong thế giới Microsoft, hãy thử /Qtùy chọn.

Ví dụ:

DIR *.xlsx /Q

Đây là một bản sao câu trả lời của Art.
fixer1234
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.