Comment accorder l'autorisation d'utilisateurs pour un répertoire à l'aide de la ligne de commande dans Windows?
Comment puis-je accorder des autorisations à un utilisateur sur un répertoire (Lire, Écrire, Modifier) à l'aide de la ligne de commande de Windows?
De Vista,
cacls
est obsolète. Voici les deux premières lignes de l'aide:Vous devez utiliser
icacls
à la place. C'est une façon de permettre à John le plein contrôle surD:\test
dossier et tous ses sous-dossiers:Selon faire MS documentation:
F
= Contrôle TotalCI
= Conteneur Héritent - Ce drapeau indique que les conteneurs secondaires hériteront de cette ACE.OI
= Object Inherit - Ce drapeau indique que les fichiers secondaires héritera de l'ACE./T
= Appliquer de manière récursive pour les fichiers et sous-dossiers. (OI
etCI
applique uniquement aux nouveaux fichiers et sous-dossiers). Crédit: commentaire de @AlexSpence.Pour une documentation complète, vous pouvez exécuter "
icacls
" sans arguments ou consultez la documentation de Microsoft ici et ici'single quotes'
œuvres./T
, mais pas(OI)(CI)
.)icacls
? Plus précisément le(D)
et(DE)
droits comme écrit dansicacls /?
ont été mal jusqu'à ce corrigé dans Windows 7.(DE)
est un simple droit, tandis que(D)
est un groupe de droits égaux à(DE,S)
.C:\>icacls "D:\test" /grant "John:(OI)(CI)F" /T
Vous pouvez également utiliser ICACLS.
D'accorder la Utilisateurs groupe le Plein Contrôle à un dossier:
D'accorder Modifier l'autorisation d'utilisateurs IIS pour
C:\MyFolder
(si vous avez besoin de votre IIS a la capacité de R/W fichiers dans le dossier spécifique):Si vous ne ICACLS /? vous serez en mesure de voir toutes les options disponibles.
cacls
est parti, c'est encore plus en raison de l'utilisation d' icacls./grant Users:(OI)(CI)F
utiliséUsers
avec quelque chose d'autre ou PAS ? Selonicacls "C:\MyFolder" /grant Users:F
Ouvrez une Invite de Commande, exécutez cette commande:
F
donne un Accès Complet./q /c /t
applique les autorisations sur les sous-dossiers.Remarque: Parfois, "Exécuter en tant qu'Administrateur" vous aidera.
Utilisation
cacls
de commande. Voir les informations ici.cacls
est pertinent; il est toujours disponible dansWindows 10
; Microsoft serait dépréciercmd.exe
en faveur de Powershell trop.cmd.exe
n'est pas obsolète et n'est pas susceptible de l'être, si ce n'est pas un argument en faveur deicacls
du tout, bien au contraire.cacls.exe
. Ni ai-je mentionné quecmd.exe
est déjà obsolète. Je pense que les gens devraient au moins être au courant de sa disponibilité dans les versions supérieures, même seulement pour des raisons de compatibilité descendante ou pour toute autre raison autre chose.J'essaie de le ci-dessous et de travail pour moi:
1. ouvrir
cmd.exe
2.
takeown /R /F *.*
3.
icacls * /T /grant [username]:(D)
4.
del *.* /S /Q
Afin que les fichiers peuvent devenir mon propre accès et il attribuer à "Supprimer" et puis je peux supprimer les fichiers et les dossiers.
Corrompus Autorisations: Retrouver l'accès à un dossier et de ses sous-objets
Bien que la plupart des réponses postées en réponse à la question ont un certain mérite, à mon humble avis, aucun d'entre eux donne une solution complète. La suite (peut-être) une solution parfaite pour Windows 7 si vous êtes en lock-out d'un dossier corrompu par les paramètres d'autorisation:
Pour Windows 10 l'utilisateur/SID doit être spécifié après le
/remove:d
option:.
Notes:
La commande est appliquée dans le répertoire spécifié.
La spécification de l'utilisateur "tout le monde", la plus large possible de l'autorisation, car il comprend chaque possible pour l'utilisateur.
L'option "/supprimer:d" supprime tout refus explicite des paramètres qui peuvent exister, comme ceux de remplacer explicite PERMETTRE paramètres: un préliminaire nécessaire à la création d'un nouveau paramètre AUTORISER. Ce n'est qu'une précaution, comme il n'y a souvent pas de NIER réglage de l'heure actuelle, mais mieux vaut prévenir que guérir.
L'option "/grant" crée un nouveau paramètre AUTORISER, d'une autorisation explicite qui remplace ("r") et que tous explicite PERMETTRE des réglages qui peuvent exister.
Le "F" de paramètre (c'est à dire l'autorisation de création) en fait une subvention d'un contrôle total.
L' "/T" paramètre ajoute la récursivité, l'application de ces modifications à tous les actuel des sous-objets dans le répertoire spécifié (par exemple les fichiers et sous-dossiers), ainsi que le dossier lui-même.
L' "(OI)" et "(CI)" paramètres également ajouter la récursivité, l'application de ces modifications pour les sous-objets créés par la suite.
.
ADDITIF (2019/02/10) -
Windows 10 de ligne de commande ci-dessus a été aimablement suggéré pour moi aujourd'hui, si elle est ici. Je n'ai pas de Windows 10 pour le tester, mais s'il vous plaît essayer si vous avez (et puis vous s'il vous plaît poster un commentaire ci-dessous).
Le changement ne concerne que la suppression du paramètre de refus comme une première étape. Il pourrait bien ne pas être de tout paramètre REFUSER présent, alors que l'option peut pas faire de différence. Ma compréhension est, sur Windows 7, que vous n'avez pas besoin de spécifier un utilisateur après /supprimer:d mais j'ai peut-être tort à propos de cette!
.
ADDITIF (2019/11/21) -
Utilisateur astark recommande de remplacer tout le monde avec le terme *S-1-1-0 pour que la commande soit indépendante de la langue. Je n'ai qu'une installation en anglais de Windows, donc je ne peux pas tester cette proposition, mais il me semble raisonnable.
Invalid parameter "/remove:d"
ICACLS name [/grant[:r] Sid:perm[...]] [/deny Sid:perm [...]] [/remove[:g|:d]] Sid[...]] [/T] [/C] [/L] [/Q] [/setintegritylevel Level:policy[...]]
et heres informations supplémentaires:/remove[:[g|d]] Sid removes all occurrences of Sid in the ACL. With :g, it removes all occurrences of granted rights to that Sid. With :d, it removes all occurrences of denied rights to that Sid.
une idée?Everyone
par*S-1-1-0
être indépendante de la langue.J'ai du mal avec ça pendant un moment et seulement en combinant les réponses dans ce thread a fonctionné pour moi (sur Windows 10):
1. Ouvrir cmd ou PowerShell et allez dans le dossier avec les fichiers
2. takeown /F /R .
3. icacls * /T /de la subvention dan:F
Bonne chance!
Juste au cas où il n'y a personne d'autre qui trébuche sur cette page, si vous voulez chaîne de diverses autorisations ensemble dans une commande, j'ai utilisé ceci:
Note le csv chaîne pour les diverses autorisations.
Avec un script vba Excel à disposition et de créer des comptes. J'ai été d'avoir à accorder des droits complets d'autorisations pour le dossier et sous-dossiers qui ont été créés par l'outil à l'aide de nos administrateurs 'x' compte de notre nouvel utilisateur.
cacls cherché quelque chose comme ceci:
cacls \Fichiers\Utilisateurs\nom d'utilisateur /e /g Domaine\nom d'utilisateur:C
J'avais besoin de migrer ce code pour Windows 7 et au-delà. Ma solution est avéré être:
icacls \Fichiers\Utilisateurs\nom d'utilisateur /de la subvention:r de Domaine\nom d'utilisateur:(OI)(CI)F /t
/subvention:r - Subventions prévues droits d'accès des utilisateurs. Les autorisations de remplacer précédemment accordées les autorisations explicites. Sans :r, les autorisations sont ajoutées à celle précédemment accordée autorisations explicites
(OI)(CI) - Ce dossier, sous-dossiers et fichiers.
F - Accès Complet
/t - Parcourir tous les sous-dossiers pour correspondre à des fichiers/répertoires.
Ce que cela m'a donné était un dossier sur ce serveur que l'utilisateur ne pouvait voir que le dossier et a créé des sous-dossiers, qu'ils pouvaient lire et écrire des fichiers. Ainsi que de créer de nouveaux dossiers.
XCACLS.VBS est un très puissant script qui va modifier/modifier les ACL info. c:\windows\system32\cscript.exe xcacls.vbs aider retourne tous les commutateurs et les options.
Vous pouvez obtenir de distribution officiel de Microsoft Page De Support
XCACLS.VBS
peut être trouvé?En vrac de création de dossier et accorder l'autorisation de travaux m'en utilisant le ci-dessous un script powershell.
Import-Csv "D:\Scripts\foldernames.csv" | foreach-object {
$username = $_.foldername
}
Remarque: Vous devez créer des même domaine nom d'utilisateur dans le fichier csv sinon vous aurez des problèmes d'autorisation
excellent point de Călin Darie
J'ai eu beaucoup de scripts à utiliser cacls je les déplacer vers icacls
comment jamais je ne pourrais pas trouver un script pour changer la racine de montage des volumes d'exemple: d:\datafolder. J'ai finalement créé le script ci-dessous, qui monte le volume, à titre temporaire, le lecteur applique ensuite de la sec. puis il démonte. C'est la seule façon que j'ai trouvée que vous pouvez mettre à jour la racine de montage de sécurité.
1 obtient le montage de dossier GUID un fichier temporaire puis lit le GUID de monter le volume en tant que lecteur temp X: s'applique sec et enregistre les modifications, puis démonte le Volume du lecteur X: de sorte que le dossier monté n'est pas modifié ou interrompu les autres, puis l'appliquer à la sec.
voici un exemple de mon script:
Je suis Administrateur et un script placé "Refuser la permission à mon nom sur tous les fichiers et sous-dossiers dans un répertoire. L'exécution de la
icacls "D:\test" /grant John:(OI)(CI)F /T
commande n'a pas fonctionné, car il semblait qu'il ne retirez pas le "Refuser" à droite de mon nom de cette liste.La seule chose qui a fonctionné pour moi est la réinitialisation de toutes les autorisations avec le
icacls "D:\test" /reset /T
commande.C'est ce qui a fonctionné pour moi:
Ouvrir manuellement le dossier pour lequel l'accès est refusé.
Sélectionnez le fichier Exécutable/l'application fichier dans ce dossier.
Un clic-droit dessus et allez à Propriétés -> Compatibilité
Maintenant voir le Niveau de Privilège et vérifiez qu'il Exécuter en tant Qu'Administrateur
Cliquez sur Modifier les Paramètres pour tous les utilisateurs.
Le problème est résolu maintenant.