web-dev-qa-db-fra.com

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

J'ai mis à jour le système d'exploitation de mon ordinateur portable sous Windows XP vers Windows 7. Il reste maintenant quelques fichiers restants sous 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?

62
lajos

Il est possible que lors de la mise à niveau, l'ancien utilisateur XP n'ait pas été correctement converti vers Windows 7 - ces fichiers sont donc la propriété d'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
    

cacls peut être utilisé avec des jokers et la traversée de répertoires. Voir également:
Sécurité depuis la ligne de commande avec CACLS
Commande CACLS

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

83
harrymc

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

 takeown/f <répertoire> /r
/f modèle de nom de fichier ou de nom de répertoire 
/r recurse 

NOTE: cacls est maintenant obsolète, veuillez utiliser icacls

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

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 à 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 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.

4
Durden81

Ce S-1-... est un GUID restant de l'installation précédente. De toute évidence, NEWSYSTEM\Administrator ne fait pas partie du groupe OLDSYSTEM\Administrators.

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

0
tsilb

Généralement, takeown et (i)cacls font le travail.

Alternativement, vous pouvez utiliser Unlocker pour le supprimer (il faudra probablement le redémarrer),
ou utilisez PsExec de Sysinternals pour obtenir les privilèges de l'utilisateur SYSTEM et supprimer ces fichiers (celui-ci fonctionnera sur certains fichiers et pourrait échouer sur d'autres).

Mais si ce dossier contient beaucoup de fichiers, les privilèges takeown 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.

0
Jet