Comment obtenir des autorisations pour supprimer des fichiers sous Windows 7?


64

J'ai mis à jour le système d'exploitation de mon ordinateur portable de Windows XP à Windows 7. Il reste maintenant quelques fichiers restants de Windows XP sur l'ordinateur. Si j'essaie de les supprimer, j'obtiens le message d'erreur suivant:

Vous avez besoin d'une autorisation pour effectuer cette action.

Vous devez obtenir l’autorisation de S-1 -.... pour apporter des modifications à ce dossier.

Ce qui est étrange, c'est que je suis connecté avec le seul compte d'utilisateur sur cette machine et que je dispose de privilèges d'administrateur. J'ai essayé de désactiver le contrôle de compte d'utilisateur, mais je ne parviens toujours pas à supprimer les fichiers.

Comment puis-je forcer la suppression de ces fichiers?

Réponses:


85

Il est possible qu'en procédant à la mise à niveau, l'ancien utilisateur de XP n'ait pas été correctement converti vers Windows 7 - par conséquent, ces fichiers appartiennent à un utilisateur fantôme. Vous pouvez suivre les étapes ci-dessous:

  1. Prendre possession des fichiers. Lancez une invite de commande (cmd) en tant qu'administrateur et entrez:

    takeown /f file
    takeown /f directory /r
    
  2. Donnez-vous tous les droits sur le fichier:

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

caclspeut être utilisé avec des jokers et la traversée de répertoires. Voir aussi:
Sécurité en ligne de commande avec
CACLS Commande CACLS

Pour un script Visual Basic plus évolué, voir: Xcacls.vbs pour modifier les autorisations NTFS .


1
La commande takeown génère une erreur: C: \> takeown / f olddir / r ERREUR: l'utilisateur actuellement connecté n'a pas de privilège de propriété sur le fichier (ou dossier) "C: \ olddir".
Lajos

6
Avez-vous lancé l'invite de commande en cliquant avec le bouton droit de la souris sur cmd.exe et sur "Exécuter en tant qu'administrateur"?
harrymc

1
Merci d'avoir fait remarquer cela. Je n'ai pas couru en tant qu'administrateur. Ça marche maintenant!
Lajos

11
Je reçois toujours le message "ERREUR: l'accès est refusé" même après avoir exécuté cmd en tant qu'administrateur!
BT le

2
@ Pacerier: Oui, j'appelle "fantôme" un compte utilisateur (non intégré) créé sur un ordinateur et n'existe donc pas sur un autre.
harrymc

29

Les arguments en ligne de commande pour prendre possession devraient être dans cet ordre

prendre en main / f <répertoire> / r
/ f modèle de nom de fichier ou de répertoire
/ r recurse

NOTE: caclsest maintenant obsolète, veuillez utiliser icacls

icacls <répertoire> / grant <utilisateur>: f / t
 f accès complet
/ t recurse

5

Dans mon cas, prendre possession de Windows 7 n’était pas suffisant dans mon cas particulier (mon installation de Windows 7 a été réalisée à l’aide de Symantec Backup Exec à partir d’un autre ordinateur et le dossier était sous contrôle de source).

Je devais effectuer deux autres étapes:

  1. Cliquez avec le bouton droit sur le dossier contenant les fichiers que vous souhaitez supprimer et sélectionnez "Propriétés" -> "Sécurité" -> "Avancé" -> sélectionnez votre utilisateur -> "Modifier l'autorisation" -> Cochez la case "Remplacer toutes les autorisations d'objet enfant par des autorisations pouvant être héritées de cet objet "

  2. Supprimez les fichiers dans les dossiers manuellement du plus profond à la racine. Supprimez les dossiers une fois qu'ils sont vides, c'est-à-dire que si vous avez "folder1-> folder2", supprimez d'abord le contenu de folder2, puis supprimez folder2, etc.

Si les autres solutions ne suffisent pas, vous pouvez essayer ces étapes suivantes.


1

C’est S-1-...un GUID laissé par l’installation précédente. De toute évidence NEWSYSTEM\Administratorne fait pas partie du OLDSYSTEM\Administratorsgroupe.

Vous devez vous approprier le lecteur, laisser les modifications se propager, puis vous devriez pouvoir supprimer les fichiers.


1

Habituellement takeownet (i)caclsfaire le travail.

Vous pouvez également utiliser Unlocker pour le supprimer (probablement un redémarrage),
ou bien utiliser PsExec de Sysinternals pour obtenir les privilèges de l'utilisateur SYSTEM et supprimer ces fichiers (celui-ci fonctionnera sur certains fichiers et risque d'échouer sur d'autres).

Mais si ce dossier contient beaucoup de fichiers, les takeownprivilèges prendront beaucoup de temps (cela m'a pris environ 20 minutes, cela dépend de la vitesse du disque dur). Donc, dans ce cas, tout LiveCD / DVD / USB est plus rapide, car ils ne nécessitent aucun privilège pour supprimer le dossier.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.