Làm cách nào để tôi có quyền xóa các tệp trên Windows 7?


64

Tôi đã cập nhật HĐH máy tính xách tay của mình từ Windows XP lên Windows 7. Hiện tại có một số tệp còn sót lại từ Windows XP trên máy tính. Nếu tôi cố xóa chúng, tôi sẽ gặp lỗi sau:

Bạn cần cho phép thực hiện hành động này.

Bạn cần có sự cho phép từ S-1 -.... để thay đổi thư mục này.

Điều kỳ lạ là tôi đăng nhập bằng tài khoản người dùng duy nhất trên máy này và tôi có quyền quản trị viên. Tôi đã thử tắt UAC, nhưng tôi vẫn không thể xóa các tệp.

Làm thế nào tôi có thể buộc loại bỏ các tập tin này?

Câu trả lời:


85

Có thể bằng cách nâng cấp, người dùng XP cũ không được chuyển đổi tốt sang Windows 7 - do đó, các tệp này thuộc sở hữu của người dùng ảo. Bạn có thể làm theo các bước dưới đây:

  1. Hãy sở hữu các tập tin. Bắt đầu một Dấu nhắc lệnh (cmd) với tư cách quản trị viên và nhập:

    takeown /f file
    takeown /f directory /r
    
  2. Cung cấp cho mình toàn quyền trên tệp:

    cacls file /G username:F
    cacls directory /T /G username:F
    

caclscó thể được sử dụng với ký tự đại diện và thư mục traversal. Xem thêm:
Bảo mật từ dòng lệnh với lệnh
CACLS CACLS

Để biết kịch bản Visual Basic phát triển hơn, hãy xem: Xcacls.vbs để sửa đổi quyền NTFS .


1
Lệnh Takeown dẫn đến một lỗi: C: \> Takeown / f olddir / r ERROR: Người dùng đã đăng nhập hiện tại không có quyền sở hữu trên tệp (hoặc thư mục) "C: \ olddir".
lajos

6
Bạn đã khởi chạy dấu nhắc lệnh bằng cách nhấp chuột phải vào cmd.exe và "Chạy với tư cách quản trị viên"?
harrymc

1
Cảm ơn đã chỉ ra rằng. Tôi không chạy với tư cách quản trị viên. Nó đang làm việc bây giờ!
lajos

11
Tôi vẫn nhận được "LRI: Truy cập bị từ chối" ngay cả sau khi chạy cmd với tư cách quản trị viên!
BT

2
@Pacerier: Có, tôi gọi "ph Phantom" là tài khoản người dùng (không tích hợp) được tạo trên một máy tính và do đó không tồn tại trên một máy tính khác.
harrymc

29

Các đối số dòng lệnh để có quyền sở hữu phải theo thứ tự này

Takeown / f <thư mục> / r
/ f tên tệp hoặc mẫu tên thư mục
/ r tái diễn

LƯU Ý: caclshiện không được chấp nhận, vui lòng sử dụng icacls

icacls <thư mục> / cấp <người dùng>: f / t
 truy cập đầy đủ
/ t tái diễn

5

Trong trường hợp của tôi, việc sở hữu không đủ trong Windows 7 cho các trường hợp cụ thể của tôi (cài đặt Windows 7 của tôi được thực hiện bằng Symantec Backup Exec từ một máy khác và thư mục nằm dưới sự kiểm soát nguồn).

Tôi đã phải thực hiện hai bước nữa:

  1. Nhấp chuột phải vào thư mục chứa các tệp bạn muốn xóa và chọn 'Thuộc tính' -> 'Bảo mật' -> 'Nâng cao' -> chọn người dùng của bạn -> 'Thay đổi quyền' -> Kiểm tra "Thay thế tất cả các quyền đối tượng con bằng quyền truy cập từ đối tượng này "

  2. Xóa các tệp trong các thư mục theo cách thủ công từ trong cùng đến thư mục gốc. Xóa các thư mục một khi chúng trống, tức là nếu bạn có "thư mục1-> thư mục2" trước tiên, bạn xóa nội dung của thư mục2, sau đó xóa thư mục2, v.v.

Nếu các giải pháp khác là không đủ, bạn có thể thử các bước tiếp theo.


1

Đó S-1-...là một GUID còn lại từ lần cài đặt trước. Rõ ràng NEWSYSTEM\Administratorkhông phải là một phần của OLDSYSTEM\Administratorsnhóm.

Bạn cần sở hữu ổ đĩa, để các thay đổi lan truyền, sau đó bạn sẽ có thể xóa các tệp.


1

Thông thường takeown(i)caclslàm công việc.

Ngoài ra, bạn có thể sử dụng Unlocker để xóa nó (có thể nó sẽ yêu cầu khởi động lại)
hoặc sử dụng PsExec của Sysiternals để lấy đặc quyền người dùng HỆ THỐNG và xóa các tệp đó (tệp này sẽ hoạt động trên một số tệp, có thể không thành công trên các tệp khác).

Nhưng nếu thư mục đó có nhiều tệp, sẽ mất rất nhiều thời gian để takeownđặc quyền (tôi mất khoảng 20 phút, tùy thuộc vào tốc độ ổ cứng). Vì vậy, trong trường hợp này, mọi LiveCD / DVD / USB đều nhanh hơn, vì chúng không yêu cầu bất kỳ đặc quyền nào để xóa thư mục.

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.