Prendre possession d'un fichier ou d'un dossier à l'aide de la ligne de commande sous Windows

Chaque fichier ou dossier d'un volume NTFS a un propriétaire. Certains fichiers système appartiennent à TrustedInstaller, certains au compte SYSTEM et d'autres au groupe « Administrateurs ». Si un utilisateur crée un fichier ou un dossier, cet utilisateur est généralement le propriétaire du fichier ou du dossier. Le propriétaire est celui qui peut attribuer des autorisations (Autoriser ou Refuser) à d'autres utilisateurs pour cet objet.

Si un utilisateur n'est pas le propriétaire d'un fichier ou d'un dossier ou n'a pas les autorisations pour accéder au fichier, il obtient l'erreur « l'accès est refusé » lors de l'accès à l'objet. Si cet utilisateur est un administrateur, il peut s'approprier l'objet en utilisant l'onglet Propriétés - Sécurité du fichier ou du dossier. Ensuite, il peut s'attribuer les autorisations requises.

Cet article vous explique comment prendre possession d'un fichier ou d'un dossier, et attribuez-lui les autorisations requises à l'aide de la ligne de commande au lieu de l'interface graphique.

Contenu

  • Prendre possession d'un fichier à l'aide de takeown.exe
  • Attribuer des autorisations de fichier à l'aide d'icacls.exe
  • Prendre possession d'un dossier à l'aide de takeown.exe
  • Attribuer des autorisations de dossier à l'aide d'icacls.exe
  • Prendre possession et attribuer des autorisations via le menu contextuel [Script/Tweak]

Information additionnelle

  • INFO: icacls.exe peut également changer de propriétaire
  • Rétablir la propriété à TrustedInstaller
  • ERREUR: icacls.exe /setowner « L'accès est refusé »
  • Utilisation de SetACL.exe pour s'approprier et attribuer des autorisations [Gratuit tiers]

Windows inclut un outil de ligne de commande nommé Takeown.exe, qui peut être utilisé à partir d'un Invite de commandes d'administration pour changer rapidement la propriété d'un fichier ou d'un dossier. Voici comment prendre possession d'un fichier ou d'un dossier puis attribuez des autorisations pour un compte à l'aide de la ligne de commande.

Prendre possession à l'aide de la ligne de commande takeown.exe

Prise de possession d'un fichier

Ouvrir un Invite de commandes élevée la fenêtre. Utilisez la syntaxe suivante pour prendre possession d'un fichier :

PRISE EN CHARGE /F 

Remplacer avec le nom de fichier réel avec le chemin complet.

L'utilisateur actuellement connecté est désormais le propriétaire du fichier.

Mettre en place Administrateurs grouper le propriétaire du fichier, utilisez le /UNE interrupteur en plus :

PRISE EN CHARGE /F  /UNE
  • /UNE Donne la propriété au groupe Administrateurs au lieu de l'utilisateur actuel. Si /UNE n'est pas spécifié, la propriété du fichier sera attribuée à l'utilisateur actuellement connecté. Ce paramètre est ne pas sensible aux majuscules et minuscules.

Si l'opération a réussi, vous devriez voir le message suivant :

« SUCCÈS: Le fichier (ou dossier): « nom de fichier » appartenant désormais à l'utilisateur « Nom de l'ordinateur\Nom d'utilisateur ». »

ou

SUCCÈS: Le fichier (ou dossier): « nom de fichier » appartient désormais au groupe d'administrateurs.

Attribuer des autorisations de fichier

puis accorder Administrateurs Autorisations de contrôle total pour le fichier, utilisez ICACLS. Voici la syntaxe :

ICACLS /administrateurs de subventions: F

Exemple 2: pour attribuer des autorisations de contrôle total à l'utilisateur actuellement connecté, utilisez cette commande :

ICACLS /grant %username%:F

%Nom d'utilisateur% représente le nom de compte de l'utilisateur actuellement connecté. ICacls accepte directement cette variable.

Exemple 3: Pour attribuer des autorisations Contrôle total à l'utilisateur nommé Jean, utilisez cette commande :

ICACLS /Grant John: F

Prendre possession d'un dossier

Utilisez la syntaxe suivante :

prendre possession /f 

(ou)

prendre possession /f  /une
  • /une Donne la propriété au groupe Administrateurs au lieu de l'utilisateur actuel. Si /une n'est pas spécifié, la propriété sera attribuée à l'utilisateur actuellement connecté. Ce paramètre est ne pas sensible aux majuscules et minuscules.

Vous verrez la sortie suivante :

SUCCÈS: Le fichier (ou dossier): « nom_dossier » appartient désormais à l'utilisateur « nom_ordinateur\nom_utilisateur »

(ou)

SUCCÈS: Le fichier (ou dossier): « nom_dossier » appartient désormais au groupe d'administrateurs.

Changer de propriétaire de manière récursive :

Pour modifier la propriété d'un dossier, de ses sous-dossiers et des fichiers dans chaque sous-dossier, utilisez cette syntaxe :

prendre possession /f /r /d y

L'utilisateur actuellement connecté est désormais le propriétaire du dossier.

Mettre en place Administrateurs regrouper le propriétaire du dossier, ses sous-dossiers et fichiers de manière récursive, utilisez le /UNE interrupteur en plus :

PRISE EN CHARGE /F  /a /r /d y
  • /R Recurse: indique à l'outil d'opérer sur les fichiers du répertoire spécifié et de tous les sous-répertoires.
  • /RÉ prompt Réponse par défaut utilisée lorsque l'utilisateur actuel n'a pas l'autorisation « liste des dossiers » sur un répertoire. Cela se produit lors d'un fonctionnement récursif (/R) sur des sous-répertoires. Valeurs valides « Y » pour s'approprier ou « N » pour ignorer.

Attribuer des autorisations de dossier

Ensuite, pour attribuer le Administrateurs Groupez les autorisations de contrôle total pour le dossier, utilisez cette syntaxe :

icacls /administrateurs de subventions: F /T

le /T est ajouté afin que l'opération soit effectuée à travers tous les sous-répertoires et fichiers de ce dossier.

Aide en ligne de commande :

Pour connaître les informations d'utilisation complètes de Takeown.exe et ICacls.exe, exécutez ces commandes à partir d'une fenêtre d'invite de commandes.

prendre possession /?
icacls /?

Méthodes plus faciles pour devenir propriétaire

Script de commande

Pour simplifier davantage le processus d'appropriation, Tim Sneath de Microsoft fournit un fichier .CMD (Windows Command Script) qui prend possession et attribue des autorisations de contrôle total aux administrateurs pour le répertoire. Pour plus d'informations, lisez le message de Tim, intitulé Secret n°11: Supprimer l'ineffaçable.

Ajoutez la commande "Prendre possession" au menu contextuel

Cela utilise à nouveau le spécial courir comme verbe dans Windows Vista et supérieur, que j'ai couvert plus tôt (RÉFCourir comme).

passant par WinMatrix.com

Télécharger takeown_context.reg et enregistrez sur le bureau. Faites un clic droit sur le fichier et choisissez Fusionner. Cliquez sur Oui lorsqu'on lui demande confirmation. Cela ajoute une commande étendue nommée Prendre possession dans le menu contextuel des fichiers et répertoires. Pour accéder à la commande, vous devez appuyer et maintenir le CHANGEMENT, puis cliquez avec le bouton droit sur un fichier ou un dossier.

(Vous pouvez en savoir plus sur le tweak dans l'article Prenez possession du fichier ou du dossier via le menu contextuel du clic droit dans Windows.)


Information additionnelle

La section ci-dessus couvre la plupart des éléments dont vous avez besoin. Lisez ci-dessous si vous avez besoin de plus de conseils sur ce sujet.

icacls.exe peut également changer la propriété d'un fichier ou d'un dossier !

Takeown.exe et Icacls.exe sont les deux outils de console intégrés à Windows, qui vous permettent respectivement de modifier la propriété d'un fichier ou d'un dossier et d'attribuer des autorisations de contrôle d'accès. Takeown.exe définit le compte d'utilisateur actuellement connecté en tant que propriétaire d'un objet (fichier ou dossier).

Cependant, avec Takeown.exe, vous ne pouvez pas créer un autre compte en tant que propriétaire d'un objet.

Saviez-vous que l'outil icacls.exe peut également être utilisé pour changer de propriétaire ?

Pour changer la propriété d'un compte tiers (c'est-à-dire le compte qui n'est pas actuellement connecté) ou d'un groupe, vous pouvez utiliser icacls.exe avec le /setowner argument de ligne de commande, au lieu de takeown.exe.

Changer la propriété d'un fichier ou d'un dossier à l'aide de icacls.exe

Nous avons vu comment changer la propriété en utilisant icacls.exe dans la dernière partie de l'article Prendre possession d'un fichier ou d'un dossier à l'aide de la ligne de commande sous Windows. Voici d'autres exemples :

Voici la syntaxe de la ligne de commande pour modifier la propriété d'un fichier ou d'un dossier à l'aide de icacls.exe :

icacls "file_or_folder_name" /setowner "NT Service\TrustedInstaller"

Exemples: Ensemble 1: changer la propriété d'un seul fichier ou dossier

icacls "D:\Rapports annuels\2020\Novembre" /setowner "John"
icacls "D:\Tax Audit\November.xlsx" /setowner "John"
icacls "D:\Tax Audit\November.xlsx" /setowner "Administrateurs"

Si l'opération a réussi, vous verrez le message suivant :

fichier traité: file_or_folder_name
1 fichiers traités avec succès; Échec du traitement de 0 fichiers

Exemple 2: changer la propriété d'un dossier (sous-dossier et fichiers) de manière récursive

Pour modifier la propriété d'un dossier, de ses sous-dossiers et de tous les fichiers de tous les sous-dossiers de manière récursive, utilisez le /T interrupteur (traversée) en plus :

icacls "nom_dossier" /setowner "Administrateurs" /T
  • /T indique que cette opération est effectuée sur tous les fichiers/répertoires correspondants sous les répertoires spécifiés dans le nom.

La commande ci-dessus définit TrustedInstaller comme propriétaire du dossier, de ses sous-dossiers et de tous les fichiers de tous les sous-dossiers.


Rétablir la propriété à TrustedInstaller

Parfois, pour résoudre un problème, vous devrez peut-être modifier un fichier de données comme XML ou un clé d'enregistrement appartenant à TrustedInstaller. Pour cela, vous devez d'abord vous approprier le fichier, le dossier ou clé d'enregistrement.

Après avoir modifié les fichiers ou les paramètres, vous devez rétablir la propriété à Installateur de confiance, si TrustedInstaller était le propriétaire précédent ou original. Pour rétablir la propriété sur TrustedInstaller, procédez comme suit :

Le service Windows Modules Installer ou TrustedInstaller permet l'installation, la modification et la suppression des mises à jour Windows et des composants facultatifs. Par défaut, TrustedInstaller est également propriétaire de nombreuses clés de registre et fichiers système critiques.

  1. Cliquez avec le bouton droit sur un fichier ou une clé de registre, puis cliquez sur Autorisations.
  2. Cliquez sur Avancé pour ouvrir la boîte de dialogue Paramètres de sécurité avancés.
  3. Près de « Propriétaire: », cliquez sur Modifier.
  4. Dans la boîte de dialogue Sélectionner un utilisateur ou un groupe, tapez "NT SERVICE\TrustedInstaller” et appuyez sur ENTER.
    prendre possession d'un fichier
  5. Cliquez sur Appliquer, OK.
    prendre possession d'un fichier

Cela modifie la propriété de l'objet (fichier, dossier ou clé d'enregistrement) à TrustedInstaller ou au programme d'installation des modules Windows.

EN RELATION:Prendre possession d'une clé de registre et attribuer des autorisations à l'aide de la ligne de commande

Utilisation de la commande icacls.exe pour définir TrustedInstaller comme propriétaire d'un fichier

À partir d'une fenêtre d'invite de commande d'administration, utilisez la syntaxe de ligne de commande suivante :

icacls "chemin\nom de fichier" /setowner "NT Service\TrustedInstaller"

Exemple:

icacls "C:\Windows\PolicyDefinitions\WindowsStore.admx" /setowner "NT Service\TrustedInstaller"

TrustedInstaller possède désormais le fichier WindowsStore.admx.


accès icacls /setowner refusé ?

Parfois le icacls.exe /setowner la ligne de commande peut rencontrer l'erreur suivante :

nom de fichier: l'accès est refusé. 0 fichiers traités avec succès; Échec du traitement de 1 fichiers

Cela peut se produire lorsqu'il rencontre un lien physique NTFS. L'erreur apparaît généralement lorsque vous essayez de changer la propriété des fichiers protégés dans le répertoire Windows - par exemple, C:\Windows\Notepad.exe. UNE lien dur est la représentation du système de fichiers d'un fichier par lequel plusieurs chemins font référence à un seul fichier dans le même volume.

Par exemple, les fichiers Notepad.exe ont deux fichiers liés en dur, que vous pouvez voir à l'aide de la commande suivante :

liste de liens fixes fsutil.exe C:\Windows\notepad.exe
liste de liens durs fsutil notepad.exe

Vous pouvez voir que Notepad.exe est lié en dur aux fichiers suivants :

C:\Windows\System32\Notepad.exe. C:\\Windows\WinSxS\amd64_microsoft-windows-notepad_31bf3856ad364e35_10.0.19041.488_none_4cea9379ceedab35\notepad.exe

le icacls.exe /setowner la commande rencontre le ACCÈS REFUSÉ erreur lors du traitement de ces liens physiques.

Notez que la documentation icacls.exe indique: « Cette option ne force pas un changement de propriétaire; utilisez l'utilitaire takeown.exe à cette fin.

Si vous rencontrez des erreurs « L'accès est refusé » lors de la définition de la propriété à l'aide d'Icacls, vous devrez peut-être vous fier à Takeown.exe, SubInACL ou à l'utilitaire de ligne de commande tiers SetACL.exe (voir le paragraphe suivant).


Utilisation de SetACL.exe pour s'approprier et attribuer des autorisations

SetACL.exe est un outil de ligne de commande tiers (de HelgeKlein.com) que nous avons couvert avant de.

SetACL: arguments de ligne de commande

Avant de continuer, voyons la syntaxe de la ligne de commande pour modifier la propriété et les autorisations des fichiers/registres à l'aide de SetACL.

SetACL -on objectname -ot objecttype -actn action
  • -au: spécifiez le chemin d'accès à l'objet sur lequel SetACL doit fonctionner (par exemple, fichier, clé de registre, partage réseau, service ou imprimante).
  • -pas: spécifiez le type d'objet. Pour modifier la propriété ou les autorisations d'un fichier ou d'un dossier, utilisez le type d'objet déposer. Pour les clés de registre, utilisez le type d'objet reg
  • -actn: spécifiez l'action sur ce que SetACL doit faire sur l'objet spécifié. Pour prendre possession, définissez l'action comme propriétaire. Pour modifier les autorisations, définissez l'action comme as.
  • -propriétaire: spécifiez le nom ou le SID d'un administrateur (un utilisateur ou un groupe) dans ce format — par exemple, "n: Administrateurs"

(Voir Documentation SetACL pour la liste complète des objets, types et actions prises en charge.)

Pour modifier la propriété et accorder une autorisation de contrôle total, voici quelques exemples :

Exemples: Changer la propriété d'un seul fichier ou dossier :

setacl.exe -on c:\windows\notepad.exe -ot fichier -actn setowner -ownr "n: NT Service\TrustedInstaller" setacl.exe -on c:\windows\notepad.exe -ot fichier -actn setowner -ownr "n: Administrateurs" setacl.exe -on c:\windows\notepad.exe -ot fichier -actn setowner -ownr "n: John" setacl.exe -on "d:\test" -ot fichier -actn setowner -ownr "n: NT Service \Installateur de confiance" setacl.exe -on "d:\test" -ot fichier -actn setowner -ownr "n: Administrateurs" setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n: John"

Exemples: Changer de propriétaire de manière récursive :

Option 1: Pour définir la propriété d'un dossier et de ses sous-dossiers (pas pour les fichiers) de manière récursive, utilisez l'un de ces exemples :

setacl.exe -on d:\test -ot file -actn setowner -ownr "n: NT Service\TrustedInstaller" -rec cont. setacl.exe -on d:\test -ot fichier -actn setowner -ownr "n: Administrateurs" -rec cont. setacl.exe -on d:\test -ot file -actn setowner -ownr "n: Ramesh" -rec cont
  • -rec – la récursivité est activée.
  • suite – Récurser et traiter les répertoires uniquement.

Option 2: Pour définir la propriété des fichiers dans un dossier et ses sous-dossiers (pas des dossiers) de manière récursive, utilisez l'un de ces exemples :

setacl.exe -on d:\test -ot file -actn setowner -ownr "n: NT Service\TrustedInstaller" -rec obj. setacl.exe -on d:\test -ot file -actn setowner -ownr "n: Administrateurs" -rec obj. setacl.exe -on d:\test -ot file -actn setowner -ownr "n: Ramesh" -rec obj
  • -rec – la récursivité est activée.
  • obj – Récurser et traiter les fichiers uniquement.

Option 3 : Pour définir la propriété d'un dossier, ses sous-dossiers et les fichiers récursivement, utilisez l'un de ces exemples :

setacl.exe -on d:\test -ot file -actn setowner -ownr "n: NT Service\TrustedInstaller" -rec cont_obj. setacl.exe -on d:\test -ot file -actn setowner -ownr "n: Administrateurs" -rec cont_obj. setacl.exe -on d:\test -ot file -actn setowner -ownr "n: Ramesh" -rec cont_obj
  • -rec – la récursivité est activée.
  • cont_obj – Recursez et traitez les répertoires et les fichiers.

Exemples: Attribuez les autorisations requises pour un fichier ou un dossier :

Une fois que vous en avez la propriété, vous pouvez attribuer les autorisations requises pour un objet. Voici quelques exemples:

Pour attribuer les autorisations d'un Célibataire fichier ou dossier, utilisez l'un de ces exemples :

setacl.exe -on "d:\test\sample.xlsx" -ot fichier -actn ace -ace "n: Administrateurs; p: plein" setacl.exe -on "d:\test\sample.xlsx" -ot fichier -actn ace -ace "n: John; p: full" setacl.exe -on "d:\test" -ot file -actn ace -ace "n: Administrators; p: plein" setacl.exe -on "d:\test" -ot fichier -actn ace -ace "n: John; p: plein"

Exemples: Attribuez les autorisations requises de manière récursive :

Option 1: Pour un dossier et sous-dossiers (pas des fichiers) de manière récursive, utilisez l'un de ces exemples :

setacl.exe -on "d:\test" -ot fichier -actn ace -ace "n: Administrateurs; p: complet" -rec cont. setacl.exe -on "d:\test" -ot fichier -actn ace -ace "n: John; p: complet" -rec cont
  • -rec – la récursivité est activée.
  • suite – Récurser et traiter les répertoires uniquement.

Option 2: Pour les fichiers d'un dossier et de sous-dossiers (pas des dossiers) de manière récursive, utilisez l'un de ces exemples :

setacl.exe -on "d:\test" -ot fichier -actn ace -ace "n: Administrateurs; p: complet" -rec obj. setacl.exe -on "d:\test" -ot fichier -actn ace -ace "n: John; p: complet" -rec obj
  • -rec – la récursivité est activée.
  • obj – Récurser et traiter les fichiers uniquement.

Option 3 : Pour un dossier, ses sous-dossiers et les fichiers récursivement, utilisez l'un de ces exemples :

setacl.exe -on "d:\test" -ot fichier -actn ace -ace "n: Administrateurs; p: complet" -rec cont_obj. setacl.exe -on "d:\test" -ot fichier -actn ace -ace "n: John; p: complet" -rec cont_obj
  • -rec – la récursivité est activée.
  • cont_obj – Recursez et traitez les répertoires et les fichiers.

Vous pouvez consulter la documentation officielle de SetACL pour connaître toutes ses capacités. Cependant, pour définir la propriété et les autorisations des fichiers et des dossiers, takeown.exe et icacls.exe seraient plus que suffisants pour la plupart des utilisateurs.


Une petite demande: si vous avez aimé ce post, merci de le partager ?

Un "minuscule" partage de votre part aiderait beaucoup à la croissance de ce blog. Quelques bonnes suggestions :
  • Épinglez-le !
  • Partagez-le sur votre blog préféré + Facebook, Reddit
  • Tweetez-le !
Alors merci beaucoup pour votre soutien, mon lecteur. Cela ne prendra pas plus de 10 secondes de votre temps. Les boutons de partage sont juste en dessous. :)