Salut tout le monde

Je cherche à faire un script qui parcours un répertoire. sur chaque dossier contenant un fichier en extension .config le script doit vérifier les droits et les ajouter si besoin (il y'a 3 droits à ajouter pour 2 users à chaque fois).

Pour l'instant mon script est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#Liste des dossiers contenant un .config
$fic=Get-ChildItem -recurse -Include *.Config

#Ajout des droits sur chaque dossier
foreach ($f in $fic) {
	#Ajout du droit 1 pour le User1
	$ace = new-object Security.AccessControl.FileSystemAccessRule("Domaine\user", "ReadPermissions", "Deny")
	$acl.AddAccessRule($ace)
	set-acl $f.directory $acl

	#Ajout du droit 2 pour le User1
	....
}
Pour l'instant ma solution marche, mais cela m'oblige à ajouter tous les droits sur chaque dossier (ce script sera lancé hebdomadairement). J'aimerais qu'il vérifie avant les droits manquants et les ajoutes en conséquence et le loggifie.

Pour cela j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
#Vérification des droits :
$acl = Get-Acl $f.directory
Du coup si je fais un $acl.Access j'ai la liste de tous les droits du dossier

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
FileSystemRights  : ReadAttributes, ReadPermissions
AccessControlType : Deny
IdentityReference : Domaine\User1
IsInherited       : False
InheritanceFlags  : ContainerInherit, ObjectInherit
PropagationFlags  : None

FileSystemRights  : FullControl
AccessControlType : Deny
IdentityReference : Domaine\User2
IsInherited       : False
InheritanceFlags  : ContainerInherit, ObjectInherit
PropagationFlags  : None
....
Je peux atteindre toutes les données que je veux par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$acl.Access[1].FieSystemRights
FullControl
Honnêtement avec tous ça je vois comment m'en sortir mais ce serait juste pas propre du tout, dans la solution que j'ai en tête j'utiliserai des boucles à valvolo, des flags...

Quelqu'un verrait-il une solution simple à mettre en place ?

D'avance un grand merci pour votre aide et bonne fin de semaine.