Bagaimana cara saya mendapatkan izin untuk menghapus file di Windows 7?

64

Saya memperbarui OS laptop saya dari Windows XP ke Windows 7. Ada beberapa file sisa dari Windows XP di komputer sekarang. Jika saya mencoba menghapusnya, saya mendapatkan kesalahan berikut:

Anda perlu izin untuk melakukan tindakan ini.

Anda memerlukan izin dari S-1 -.... untuk membuat perubahan pada folder ini.

Yang aneh adalah saya login dengan satu-satunya akun pengguna di mesin ini dan saya memiliki hak administrator. Saya mencoba mematikan UAC, tetapi saya masih tidak bisa menghapus file.

Bagaimana saya bisa memaksa penghapusan file-file ini?

lajos
sumber

Jawaban:

85

Ada kemungkinan bahwa dengan memutakhirkan, pengguna XP yang lama tidak dikonversi dengan baik ke Windows 7 - karena itu file-file ini dimiliki oleh pengguna hantu. Anda dapat mengikuti langkah-langkah di bawah ini:

  1. Ambil kepemilikan file. Mulai Prompt Perintah (cmd) sebagai administrator, dan masukkan:

    takeown /f file
    takeown /f directory /r
    
  2. Beri diri Anda hak penuh pada file:

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

caclsdapat digunakan dengan wildcard dan direktori traversal. Lihat juga:
Keamanan dari baris perintah dengan perintah CACLS
CACLS

Untuk skrip Visual Basic yang lebih berkembang lihat: Xcacls.vbs untuk mengubah izin NTFS .

harrymc
sumber
1
Perintah takeown menghasilkan kesalahan: C: \> takeown / f olddir / r ERROR: Pengguna yang masuk saat ini tidak memiliki hak kepemilikan pada file (atau folder) "C: \ olddir".
Lajos
6
Apakah Anda meluncurkan prompt perintah dengan mengklik kanan pada cmd.exe dan "Jalankan sebagai administrator"?
harrymc
1
Terima kasih telah menunjukkannya. Saya tidak menjalankan sebagai administrator. Ini bekerja sekarang!
lajos
11
Saya masih mendapatkan "GALAT: Akses ditolak" bahkan setelah menjalankan cmd sebagai administrator!
BT
2
@Pacerier: Ya, saya menyebut "phantom" akun pengguna (bukan built-in) yang dibuat pada satu komputer, jadi tidak ada pada yang lain.
harrymc
29

Argumen baris perintah untuk mengambil kepemilikan harus dalam urutan ini

takeown / f <direktori> / r
/ f nama file atau pola nama direktori
Perulangan

CATATAN: caclssekarang sudah usang, silakan gunakan icacls

icacls <directory> / grant <user>: f / t
 f akses penuh
/ T berulang
Lessan Vaezi
sumber
5

Dalam kasus saya mengambil kepemilikan tidak cukup di Windows 7 untuk keadaan khusus saya (instalasi Windows 7 saya dibuat menggunakan Symantec Backup Exec dari komputer lain dan folder itu di bawah kendali sumber).

Saya harus melakukan dua langkah lebih lanjut:

  1. Klik kanan folder yang berisi file yang ingin Anda hapus dan pilih 'Properti' -> 'Keamanan' -> 'Lanjut' -> pilih pengguna Anda -> 'Ubah izin' -> Centang "Ganti semua izin objek anak dengan izin bawaan dari objek ini "

  2. Hapus file dalam folder secara manual dari yang paling dalam hingga ke root. Hapus folder setelah kosong, yaitu jika Anda memiliki "folder1-> folder2" pertama Anda menghapus isi folder2, lalu hapus folder2 dll.

Jika solusi lain tidak cukup, Anda dapat mencoba langkah selanjutnya.

Durden81
sumber
1

Itu S-1-...adalah GUID yang tersisa dari pemasangan sebelumnya. Jelas NEWSYSTEM\Administratorbukan bagian dari OLDSYSTEM\Administratorsgrup.

Anda perlu mengambil kepemilikan drive, biarkan perubahan menyebar, maka Anda harus dapat menghapus file.

tsilb
sumber
1

Biasanya takeowndan (i)caclsmelakukan pekerjaan.

Atau, Anda dapat menggunakan Unlocker untuk menghapusnya (mungkin akan membutuhkan reboot),
atau menggunakan PsExec Sysinternals untuk mendapatkan hak istimewa pengguna SISTEM dan menghapus file-file itu (ini akan bekerja pada beberapa file, mungkin gagal pada yang lain).

Tetapi jika folder itu memiliki banyak file, itu akan membutuhkan banyak waktu untuk takeownhak istimewa (butuh saya sekitar 20 menit, tergantung pada kecepatan HDD). Jadi dalam hal ini, setiap LiveCD / DVD / USB lebih cepat, karena mereka tidak memerlukan hak istimewa untuk menghapus folder.

Jet
sumber