DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 825751 - Dernière mise à jour: mercredi 16 novembre 2005 - Version: 2.3

Sommaire

Résumé

Il existe une version mise à jour de l'outil de l'outil Extended Change Access Control List (Xcacls.exe) disponible auprès de Microsoft en tant que script Microsoft Visual Basic (Xcacls.vbs). Cet article décrit étape par étape comment utiliser le script Xcacls.vbs pour modifier et afficher des autorisations de système de fichiers NTFS pour des fichiers ou des dossiers. Vous pouvez utiliser Xcacls.vbs à partir de la ligne de commande pour définir toutes les options de sécurité de système de fichiers accessibles dans l'Explorateur Microsoft Windows. Xcacls.vbs affiche et modifie les listes de contrôle d'accès de fichiers.

Remarque Xcacls.vbs est compatible uniquement avec Microsoft Windows 2000, Microsoft Windows XP et Microsoft Windows Server 2003. Xcacls.vbs n'est pas pris en charge par Microsoft.

Installation et utilisation de Xcacls.vbs

Pour installer et utiliser Xcacls.vbs, procédez comme suit :
  1. Obtenez la version la plus récente de Xcacls.vbs à partir du site Web de Microsoft à l'adresse suivante :
    http://download.microsoft.com/download/f/7/8/f786aaf3-a37b-45ab-b0a2-8c8c18bbf483/XCacls_Installer.exe (http://download.microsoft.com/download/f/7/8/f786aaf3-a37b-45ab-b0a2-8c8c18bbf483/xcacls_installer.exe)
  2. Double-cliquez sur Xcacls_Installer.exe. Lorsque vous êtes invité à spécifier un emplacement pour les fichiers extraits, spécifiez un dossier qui se trouve dans le chemin de recherche de votre ordinateur, tel que C:\Windows.
  3. Modifiez le moteur de script par défaut de Wscript en Cscript. (Le script Xcacls.vbs fonctionne mieux dans Cscript.) Pour cela, tapez la commande suivante à une invite, puis appuyez sur ENTRÉE :
    cscript.exe /h:cscript
    Remarque La modification du moteur de script par défaut à Cscript affecte uniquement la façon dont les scripts écrivent à l'écran. Wscript écrit chaque ligne individuellement dans une boîte de dialogue OK. Cscript écrit chaque ligne dans la fenêtre de commande. Si vous ne souhaitez pas modifier le moteur de script par défaut, vous devez exécuter le script à l'aide de la commande
    xcacls.vbs
    , alors que si vous modifiez la valeur par défaut à Cscript, vous pouvez exécuter le script avec la commande suivante :
    xcacls.vbs
    .
  4. Pour afficher la syntaxe de commande Xcacls.vbs, tapez la ligne suivante à l'invite de commandes :
    xcacls.vbs /?

Syntaxe de la commande Xcacls.vbs

La sortie suivante de la commande xcacls.vbs /? décrit la syntaxe de commande Xcacls.vbs :
Utilisation : XCACLS nom_fichier [/E] [/G utilisateur:autorisation;spéc] [...] [/R utilisateur [...]] [/F] [/S] [/T] [/P utilisateur:autorisation;spéc [...]] [/D utilisateur:autorisation;spéc] [...] [/O utilisateur] [/I ENABLE/COPY/REMOVE] [/N [/L nom_fichier] [/Q] [/DEBUG]

   nom_fichier            [Obligatoire] En cas d'utilisation seul, affiche les listes de contrôle d'accès. (Le nom de fichier peut être un nom de fichier, un nom de répertoire ou des caractères génériques et peut inclure le chemin d'accès complet. Si le chemin d'accès manque, il est supposé être sous le répertoire actif.) Remarques : - Placez le nom de fichier entre guillemets s'il contient des espaces ou des caractères spéciaux tels que &, $, #, etc. - Si le nom de fichier est un répertoire, aucun des fichiers et sous-répertoires situés dessous ne sera modifié, à moins que /F ou S ne soit présent.

   /F                  [Utilisé avec Répertoire ou Caractère générique] Modifie tous les fichiers sous le répertoire entré mais ne parcourt pas de sous-répertoire, à moins que /T ne soit également présent. Si le nom de fichier est un répertoire et que /F n'est pas utilisé, aucun fichier ne sera touché.

   /S                  [Utilisé avec Répertoire ou Caractère générique] Modifie tous les sous-répertoires sous le répertoire entré mais ne parcourt pas de sous-répertoire, à moins que /T ne soit également présent. Si le nom de fichier est un répertoire et que /S n'est pas utilisé, aucun sous-répertoire ne sera touché.

   /T                  [Utilisé uniquement avec un Répertoire] Parcourt chaque sous-répertoire et apporte les mêmes modifications. Ce commutateur parcourt les répertoires uniquement si le nom de fichier est un répertoire ou utilise des caractères génériques. /E                  Modifier la liste de contrôle d'accès au lieu de la remplacer.

   /G utilisateur:GUI         Accorder des autorisations de sécurité semblables aux choix standard (non avancés) de l'interface utilisateur graphique de Windows. /G utilisateur:autorisation;spéc   Accorder des droits d'accès utilisateur spécifiés. (/G ajoute aux droits existants pour l'utilisateur)

                       Utilisateur : si le nom de l'Utilisateur contient des espaces, placez-le entre guillemets. Si Utilisateur contient #ordinateur #, il remplace #ordinateur# par le nom de l'ordinateur réel s'il ne s'agit pas d'un contrôleur de domaine et le remplace par le nom de domaine réel s'il s'agit d'un contrôleur de domaine.

                             Nouveauté dans la version 3.0 : Utilisateur peut être une chaîne qui représente le SID réel, mais DOIT commencer par SID#, par exemple : SID#S-1-5-21-2127521184-160... (La chaîne SID indiquée a été raccourcie) (Si un utilisateur contient SID#, globalement toutes les correspondances doivent correspondre au SID (et non au nom) ; par conséquent, si votre intention est d'appliquer des modifications à tous les comptes qui correspondent à Domaine\Utilisateur, ne spécifiez pas SID# comme l'un des utilisateurs.)

                       GUI : concerne les droits standard et peut être : Autorisations... F  Contrôle total M  Modifier X  Lecture et exécution L  Afficher le contenu du dossier R  Lecture W  Écriture Remarque : Si a ; est présent, cela sera considéré comme une paire de paramètres Autorisation;Spéc.

                       Autorisation : concerne "Fichiers uniquement" et peut être : Autorisations... F  Contrôle total M  Modifier X  Lecture et exécution R  Lecture W  Écriture Avancé... D  Prendre possession C  Modifier les autorisations B  Autorisations de lecture A  Supprimer 9  Attributs d'écriture 8  Attributs de lecture 7  Suppression de sous-dossier et fichier 6  Parcours du dossier/exécuter le fichier 5  Écriture d'attributs étendus 4  Lecture des attributs étendus 3  Création de dossier/ajout de données 2  Création de fichier/écriture de données 1 Liste du dossier/lecture de données Spéc concerne "Dossier et sous-dossiers uniquement" et offre les mêmes choix qu'Autorisation.

   /R utilisateur             Révoquer les droits d'accès utilisateur spécifiés. (Supprimera toute liste de contrôle d'accès Autorisée ou Refusée pour l'utilisateur.)

   /P utilisateur:GUI         Remplacer les autorisations de sécurité semblables aux choix standard.

   /P utilisateur:autorisation;spéc   Remplacer les droits d'accès utilisateur spécifiés. Pour la spécification des droits d'accès, consultez l'option /G. (/P se comporte comme /G si aucun droit n'est défini pour l'utilisateur.)

   /D utilisateur:GUI         Refuser les autorisations de sécurité semblables aux choix standard.
   /D utilisateur:autorisation;spéc   Refuser les droits d'accès utilisateur spécifiés. Pour la spécification des droits d'accès, consultez l'option /G. (/D ajoute aux droits existants pour l'utilisateur.)

   /O utilisateur             Modifier la Propriété à cet utilisateur ou groupe.

   Commutateur /I           Indicateur d'héritage  S'il est omis, la valeur par défaut est de ne pas toucher aux listes de contrôle d'accès héritées. Le commutateur peut être : ENABLE - Active l'indicateur d'héritage s'il ne l'est pas déjà. COPY - Désactive l'indicateur d'héritage et copie les listes de contrôle d'accès héritées dans des listes de contrôle d'accès effectives. REMOVE - Désactive l'indicateur d'héritage et ne copie pas les listes de contrôle d'accès héritées.  Il s'agit de l'opposé d'ENABLE. Si le commutateur n'est pas présent, /I sera ignoré et les listes de contrôle d'accès héritées ne seront pas touchées.

   /L nom_fichier         Nom de fichier pour la journalisation. Cela peut inclure un nom de chemin d'accès si le fichier ne se trouve pas sous le répertoire actif. Les données seront ajoutées au fichier ou celui-ci sera créé s'il n'existe pas. Doit être un fichier texte s'il existe, sinon une erreur se produira.

                       Si le nom de fichier est omis, le nom par défaut de XCACLS sera utilisé.

   /Q                  Activer le Mode silencieux.  Par défaut, il est désactivé. S'il est activé, il n'y aura aucun affichage à l'écran.


   /DEBUG              Activer le mode Débogage. Par défaut, il est désactivé. S'il est activé, il y aura davantage d'informations affichées et/ou enregistrées. Les informations afficheront Sub/Function Enter et Exit, ainsi que d'autres informations importantes.

   /SERVER nom_serveur  Entrez un serveur distant contre lequel exécuter le script.

   /USER nom_utilisateur      Entrez un Nom d'utilisateur dont il faut emprunter l'identité pour les connexions distantes (requiert le commutateur PASS).  Sera ignoré si c'est pour une Connexion locale.

   /PASS mot_de_passe      Entrez le mot de passe associé au commutateur USER (requiert le commutateur USER).


Des caractères génériques peuvent être utilisés pour spécifier plusieurs fichiers dans une commande, par exemple : *       Toute chaîne de zéro ou plusieurs caractères ?       Tout caractère unique

Vous pouvez spécifier plusieurs utilisateurs dans une commande. Vous pouvez combiner des droits d'accès.


Utilisation de Xcacls.vbs pour afficher des autorisations


Vous pouvez également utiliser Xcacls.vbs pour afficher des autorisations pour des fichiers ou des dossiers. Par exemple, si vous avez un dossier nommé C:\Test, tapez la commande suivante à une invite pour afficher les autorisations de dossier, puis appuyez sur ENTRÉE :
xcacls.vbs c:\test
Voici un exemple de résultat par défaut :
C:\>XCACLS.VBS c:\test Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Starting XCACLS.VBS (Version: 3.4) Script at 6/11/2003 10:55:21 AM

Startup directory: "C:\test"

Arguments Used: Filename = "c:\test"



************************************************************************** Directory: C:\test

Permissions: Type     Username                Permissions           Inheritance

Allowed  BUILTIN\Administrators  Full Control          This Folder, Subfolde Allowed  NT AUTHORITY\SYSTEM     Full Control          This Folder, Subfolde Allowed  Domain1\User1           Full Control          This Folder Only Allowed  \CREATOR OWNER          Special (Unknown)     Subfolders and Files Allowed  BUILTIN\Users           Read and Execute      This Folder, Subfolde Allowed  BUILTIN\Users           Create Folders / Appe This Folder and Subfo Allowed  BUILTIN\Users           Create Files / Write  This Folder and Subfo

No Auditing set

Owner: Domain1\User1


Remarque La sortie de la commande xcacls.vbs c:\test dans cet exemple correspond au texte qui est affiché dans l'interface utilisateur graphique (GUI). Certains mots sont incomplets dans la fenêtre de commande.

La sortie donne également la version du script, le répertoire de démarrage et les arguments qui ont été utilisés.

Vous pouvez également utiliser des caractères génériques pour afficher des fichiers correspondants sous le répertoire. Par exemple, si vous tapez ce qui suit, tous les fichiers avec une extension « .log » situés dans le dossier C:\Test sont affichés :
xcacls.vbs c:\test\*.log

Exemples


Les commandes Xcacls.vbs suivantes fournissent quelques exemples d'utilisation de Xcacls.vbs.

xcacls.vbs c:\test\ /g domaine\utilisateurtest1:f /f /t /e
Cette commande modifie des autorisations existantes. Elle accorde à Domaine\UtilisateurTest1 un contrôle total sur tous les fichiers sous C:\Test, elle parcourt les sous-dossiers sous C:\Test, puis elle modifie tous les fichiers trouvés. Cette commande ne touche pas aux répertoires.
xcacls.vbs c:\test\ /g domaine\utilisateurtest1:f /s /l "c:\xcacls.log"
Cette commande remplace les autorisations existantes. Elle accorde à Domaine\UtilisateurTest1 un contrôle total sur tous les sous-dossiers sous C:\Test et elle enregistre dans C:\Xcacls.log. Cette commande ne touche pas aux fichiers et elle ne parcourt pas les répertoires.
xcacls.vbs c:\test\readme.txt /o "ordinateura\groupe1"
Cette commande modifie le propriétaire de Readme.txt de sorte qu'il s'agisse du groupe OrdinateurA\Groupe1.
xcacls.vbs c:\test\badcode.exe /r "ordinateura\groupe1" /r "domaine\utilisateurtest1"
Cette commande révoque les autorisations sur C:\Test\Badcode.exe pour OrdinateurA\Groupe1 et pour Domaine\UtilisateurTest1.
xcacls.vbs c:\test\sousrép1 /i enable /q
Cette commande active l'héritage sur le dossier C:\Test\SousRép1. Elle supprime toute sortie à l'écran.
xcacls.vbs \\serveura\partagez\pagetest.htm /p "domaine\groupe2":14
Cette commande établit une connexion à distance à \\ServeurA\PartageZ à l'aide de Windows Management Instrumentation (WMI). Elle obtient ensuite le chemin local de ce partage et, sous ce chemin d'accès, elle modifie les autorisations sur Pagetest.htm. Elle laisse les autorisations existantes de Domaine\Groupe2 intactes, mais elle ajoute les autorisations 1 (lecture de données) et 4 (lecture des attributs étendus). La commande supprime les autres autorisations sur le fichier car le commutateur /e n'a pas été utilisé.
xcacls.vbs d:\défaut.htm /g "domaine\groupe2":f /serveur serveura /utilisateur serveura\admin /pass mot_de_passe /e
Cette commande utilise WMI pour se connecter à distance en tant que ServeurA\Admin à ServeurA, puis elle accorde des autorisations totales sur Défaut.htm à Domaine\Groupe2. Les autorisations existantes pour Domaine\Groupe2 sont perdues et les autres autorisations sur le fichier sont conservées.

Références

Pour plus d'informations sur la façon d'utiliser Xcacls.exe, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
318754  (http://support.microsoft.com/kb/318754/ ) Comment faire pour utiliser Xcacls.exe pour modifier des autorisations NTFS

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Édition familiale
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professionnel
Mots-clés : 
kbhowtomaster KB825751
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store