Question [Résolu] Poser des ACE sur une OU dans l'AD
- Richard Lazaro
- Auteur du sujet
- Hors Ligne
- Membre platinium
-
- Messages : 530
- Remerciements reçus 0
Je viens vers vous car j'ai un soucis.
Je dois poser deux ACE sur une OU dans mon AD j'arrive bien à poser une première mais quand je pose la deuxième la première est alors écrasé ...
[code:1]
$sid = New-Object System.Security.Principal.SecurityIdentifier 'S-1-5-21-1428881779-3318976875-7249819-5030'
$aceOne = New-Object System.DirectoryServices.ActiveDirectoryAccessRule ($sid, 0x30, 'Allow', (New-Object GUID), 'All')
$aceTwo = New-Object System.DirectoryServices.ActiveDirectoryAccessRule ($sid, 0x3, 'Allow', (New-Object GUID 'bf967a9c-0de6-11d0-a285-00aa003049e2'), 'None')
$obj = [ADSI]'LDAP://OU=PowerShell,OU=Microsoft,DC=think-ms,DC=net'
$obj.psbase.ObjectSecurity.SetAccessRule($aceTwo)
$obj.psbase.ObjectSecurity.SetAccessRule($aceOne)
$obj.psbase.commitchanges()
[/code:1]
J'ai bien mes deux ACE avec des paramètres correspondant à ce que je veux mais elles ne s'appliquent pas ...
Ce que je veux :
ActiveDirectoryRights : ReadProperty, WriteProperty
InheritanceType : All
ObjectType : 00000000-0000-0000-0000-000000000000
InheritedObjectType : 00000000-0000-0000-0000-000000000000
ObjectFlags : None
AccessControlType : Allow
IdentityReference : S-1-5-21-1428881779-3318976875-7249819-5028
IsInherited : False
InheritanceFlags : ContainerInherit
PropagationFlags : None
ActiveDirectoryRights : CreateChild, DeleteChild
InheritanceType : None
ObjectType : bf967a9c-0de6-11d0-a285-00aa003049e2
InheritedObjectType : 00000000-0000-0000-0000-000000000000
ObjectFlags : ObjectAceTypePresent
AccessControlType : Allow
IdentityReference : S-1-5-21-1428881779-3318976875-7249819-5028
IsInherited : False
InheritanceFlags : None
PropagationFlags : None
mais j'ai que la dernière qui passe ... elle écrase la précédente (j'ai essayé en faisant plusieurs commit ...)
Est ce que vous avez une idée ?
Bien Cordialement,
Richard Lazaro.<br><br>Message édité par: Arnaud, à: 7/07/11 21:59
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- Arthur
- Hors Ligne
- Membre elite
-
- Messages : 226
- Remerciements reçus 0
Normalement il ne faut pas faire un truc du genre:
[code:1] $obj.psbase.ObjectSecurity.AddAccessRule($aceTwo)
$obj.psbase.CommitChanges()
$obj.psbase.ObjectSecurity.AddAccessRule($aceOne)
$obj.psbase.CommitChanges()[/code:1]
?
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Auteur du sujet
- Hors Ligne
- Membre platinium
-
- Messages : 530
- Remerciements reçus 0
Non la deuxième ACE passé remplace celle d'avant :/
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- Arthur
- Hors Ligne
- Membre elite
-
- Messages : 226
- Remerciements reçus 0
blogs.msdn.com/b/adpowershell/archive/20...tory-powershell.aspx
Et il applique bien 2 ACE dans son exemple.
Sinon test avec une seul méthode \"CommitChanges\" à la fin. On peut rêver.
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Auteur du sujet
- Hors Ligne
- Membre platinium
-
- Messages : 530
- Remerciements reçus 0
Et je préfère lutter avec des vrai problème de base pour connaître la racine de POSH.
Non, un seul commit ça merde aussi
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- Arthur
- Hors Ligne
- Membre elite
-
- Messages : 226
- Remerciements reçus 0
social.msdn.microsoft.com/Forums/en/netf...2c-af4b-db255bca3215
Cependant dans l'exemple donné l'auteur fait un peut près la même chose que toi, ou alors j'ai zappé un truc.
J'ai pas vus grand chose d'autre.
Si vraiment tu te sent courageux tu peut faire ca en C#. (sur V2 ou avec un script qui compile le code sur V1 genre \"New-Type\")
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les initiés
- [Résolu] Poser des ACE sur une OU dans l'AD