Question
Aide ACL
- Glaedr29
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 10 ans 3 mois #16592
par Glaedr29
Bonjour,
Je débute en powershell et je suis en train de faire un script me permettant d'ajouter un utilisateur sur un dossier avec le code ci-dessous.
$Acl = Get-Acl \"C:\toto\"
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule(\"toto\",\"Modify\",\"Allow\")
$Acl.SetAccessRule($Ar)
Set-Acl \"C:\toto\" $Acl
Après l’exécution de ce script, j'ai bien l'utilisateur toto dans les sécurités, mais les autorisations ne s'appliquent pas...
Pourriez-vous m'aider ?
Merci d'avance.
Cordialement.
Je débute en powershell et je suis en train de faire un script me permettant d'ajouter un utilisateur sur un dossier avec le code ci-dessous.
$Acl = Get-Acl \"C:\toto\"
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule(\"toto\",\"Modify\",\"Allow\")
$Acl.SetAccessRule($Ar)
Set-Acl \"C:\toto\" $Acl
Après l’exécution de ce script, j'ai bien l'utilisateur toto dans les sécurités, mais les autorisations ne s'appliquent pas...
Pourriez-vous m'aider ?
Merci d'avance.
Cordialement.
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 3 mois #16593
par Philippe
Réponse de Philippe sur le sujet Re:Aide ACL
Bonsoir Glaedr29
je passe rapidement ici pour te donner une reponse avant de partir en week end :
ton code semble bon mais je suis pas un specialiste
mais je crois que si l'utilisateur existe déjà ca coince
il y a un petit tuto sur les ACLs ici
perso j'utilise le code suivant, si ca peut t'aider :
[code:1]
# récupération ACL du dossier
$getACL = Get-Acl \"D:\Perso\$login\"
# Crée une ACE avec les droits d'héritage et de autorisation à modifier le dossier pour l'utilisateur
$allinherit = [system.security.accesscontrol.InheritanceFlags]\"ContainerInherit, ObjectInherit\"
$allpropagation = [system.security.accesscontrol.PropagationFlags]\"None\"
$accessRule = New-Object system.security.AccessControl.FileSystemAccessRule($loginAD, \"Modify\", $allInherit, $allpropagation, \"Allow\"«»)
# Vérifie si le login a déjà des droits sur le dossier et les modifies, sinon, on ajoute les droits ACE de l'utilisateur dans la copie ACL
if ($getACL.Access | Where { $_.IdentityReference -eq $loginAD})
{
$accessModification = New-Object system.security.AccessControl.AccessControlModification
$accessModification.value__ = 2
$modification = $False
$getACL.ModifyAccessRule($accessModification, $accessRule, [ref]$modification)
}
else
{
$getACL.AddAccessRule($accessRule)
}
# On régle l'ACL avec la nouvelle ACL avec l'ACE du login qu'on a modifier
Set-Acl -aclobject $getACL -Path \"D:\Perso\$login\"
[/code:1]<br><br>Message édité par: 6ratgus, à: 13/12/13 17:28
je passe rapidement ici pour te donner une reponse avant de partir en week end :
ton code semble bon mais je suis pas un specialiste
mais je crois que si l'utilisateur existe déjà ca coince
il y a un petit tuto sur les ACLs ici
perso j'utilise le code suivant, si ca peut t'aider :
[code:1]
# récupération ACL du dossier
$getACL = Get-Acl \"D:\Perso\$login\"
# Crée une ACE avec les droits d'héritage et de autorisation à modifier le dossier pour l'utilisateur
$allinherit = [system.security.accesscontrol.InheritanceFlags]\"ContainerInherit, ObjectInherit\"
$allpropagation = [system.security.accesscontrol.PropagationFlags]\"None\"
$accessRule = New-Object system.security.AccessControl.FileSystemAccessRule($loginAD, \"Modify\", $allInherit, $allpropagation, \"Allow\"«»)
# Vérifie si le login a déjà des droits sur le dossier et les modifies, sinon, on ajoute les droits ACE de l'utilisateur dans la copie ACL
if ($getACL.Access | Where { $_.IdentityReference -eq $loginAD})
{
$accessModification = New-Object system.security.AccessControl.AccessControlModification
$accessModification.value__ = 2
$modification = $False
$getACL.ModifyAccessRule($accessModification, $accessRule, [ref]$modification)
}
else
{
$getACL.AddAccessRule($accessRule)
}
# On régle l'ACL avec la nouvelle ACL avec l'ACE du login qu'on a modifier
Set-Acl -aclobject $getACL -Path \"D:\Perso\$login\"
[/code:1]<br><br>Message édité par: 6ratgus, à: 13/12/13 17:28
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 10 ans 3 mois #16594
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Aide ACL
D'après
la doc
, les acls existant peuvent influencer le comportement de l'API SetAccesRule, un point à vérifier.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Glaedr29
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 10 ans 3 mois #16597
par Glaedr29
Réponse de Glaedr29 sur le sujet Re:Aide ACL
Bonsoir,
Tout d'abord merci a vous deux pour vos réponses rapide je suis vraiment désolé pour ma réponse tardive.
Je vais regarder plus en détail les tutos que vous m'avez envoyé.
Merci encore.
Bonne soirée.
Tout d'abord merci a vous deux pour vos réponses rapide je suis vraiment désolé pour ma réponse tardive.
Je vais regarder plus en détail les tutos que vous m'avez envoyé.
Merci encore.
Bonne soirée.
Connexion ou Créer un compte pour participer à la conversation.
- Glaedr29
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 10 ans 3 mois #16608
par Glaedr29
Réponse de Glaedr29 sur le sujet Re:Aide ACL
Bonjour,
J'ai modifié mon script ce matin avec vos conseils et maintenant tout fonctionne !!!
Merci encore à vous deux.
Bonne fin de journée.
J'ai modifié mon script ce matin avec vos conseils et maintenant tout fonctionne !!!
Merci encore à vous deux.
Bonne fin de journée.
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 3 mois #16610
par Philippe
Réponse de Philippe sur le sujet Re:Aide ACL
Glaedr29 écrit:
heureux que tout fonctionne,
bonne fin d'année
Bonjour,
J'ai modifié mon script ce matin avec vos conseils et maintenant tout fonctionne !!!
Merci encore à vous deux.
Bonne fin de journée.
heureux que tout fonctionne,
bonne fin d'année
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.078 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Aide ACL