S'approprier un répertoire à partir de l'Invite de commandes
TakeOwn permet à un administrateur de récupérer l'accès à un fichier qui avait été refusé en réassignant l'appartenance de fichier.
La syntaxe est la suivante : TAKEOWN [/S système] [/U utilisateur [/P mot_de_passe]]] /F nom_fichier [/A] [/R [/D invite_de_commandes]].
Les commutateurs sont :
/s : spécifie le système distant auquel se connecter.
/u : [domaine\]utilisateur : spécifie le contexte utilisateur sous lequel la commande doit s'exécuter. Ce commutateur ne peut pas être employé sans /s.
/p : [mot_de_passe] : spécifie le mot de passe du contexte utilisateur donné.
/f : nom_fichier : spécifie le nom de fichier ou de répertoire. Vous pouvez utiliser le caractère générique * pour définir plusieurs fichiers.
/a : attribue l'appartenance au groupe des administrateurs et non à l'utilisateur actuel. Si ce commutateur n'est pas spécifié, l'appartenance de fichier sera attribuée à l'utilisateur actuellement connecté.
/r : traite la commande en mode récursif. L'opération portera donc sur l'ensemble des répertoires et des sous-répertoires.
/d : invite_commandes : permet de définir une réponse par défaut qui sera utilisée lorsque l'utilisateur actuel ne possède pas l'autorisation "lister le dossier" sur un répertoire. Ceci se produit lors du traitement récursif (/R) sur les sous-répertoires. Utilisez les valeurs "O" pour prendre possession ou "N" pour ignorer.
Voici un exemple d'utilisation de la commande TakeOwn. Vous pouvez être confronté au problème suivant : après une installation de Windows Vista certains répertoires placés sur ne autre partition ne sont plus accessibles même à partir d'un compte d'utilisateur possédant des privilèges d'administrateur. Les ACLs sont paramétrées en fonction de SID qui n'existe plus sur votre système. Vous pouvez dans ce cas utiliser ces deux commandes :
takeown /f Nom_Répertoire /r /d o
Un message va vous avertir que : " Opération réussie : le fichier (ou dossier) : Emplacement et Nom_Fichier" appartient désormais à l'utilisateur "Ordinateur1\Nom_Utilisateur".
icacls Nom_Répertoire /grant administrateurs:f /t
La suppression du répertoire ne sera plus après qu'un jeu d'enfant ! Attention de vous rappeler que vous devez exécuter l'Invite de commandes en tant qu'administrateur sinon vous aurez un message indiquant que l'accès sera refusé.
Voici un autre exemple d'utilisation qui vous permet de modifier le fichier Hosts :
Saisissez cette commande : takeown /f c:\windows\system32\drivers\etc\hosts
Vous aurez ce message de confirmation : Opération réussie : le fichier (ou dossier) : "c:\windows\system32\drivers\etc\hosts" appartient désormais à l'utilisateur "Ordinateur1\Jean".
Tapez ensuite ceci : icacls c:\windows\system32\drivers\etc\hosts /grant jean:f
Vous devriez alors avoir ce message : "fichier traité : c:\windows\system32\drivers\etc\hosts 1 fichiers correctement traités ; échec du traitement de 0 fichiers".
Vous pouvez après modifier le fichier Hosts comme bon vous semble. Sur cette page tous les détails sur Icacls.