Bonjour à tous,
et merci pour vos posts qui sont plein d'enseignement.
J'ai un problème avec le script Powershell ci-dessous pour propager l'héritage d'une entrée d'ACE que j'ai modifié sur des Home Folders d'utilisateurs. L'entrée d'ACE est bien postionnée sur le dossier parent avec les bon droits mais le "PropagationFlag" n'est pas prit en compte.
J'obtiens le message :
Exception calling "AddAccessRule" with "1" argument(s): "Impossible de traduire certaines ou toutes les références d'identité."
At E:\Données\Utilisateurs\Set-NewACL.ps1:50 char:19
+ $acl.AddAccessRule <<<< ($ace)
+ CategoryInfo : NotSpecified: ([], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
La machine est un serveur Win2k3 SP2 sur lequel j'ai installé le .NetFramework3.5 et WinRM2.0
J'ai beaucoup de mal à trouver de la documentation sur cette erreur alors j'en appelle à la communauté pour trouver de l'aide.
Merci
Voici le script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 $ParentPath="E:\Données\Utilisateurs" $InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]::"ObjectInherit" $PropagationFlag = [System.Security.AccessControl.PropagationFlags]::"InheritOnly" $colRights = [System.Security.AccessControl.FileSystemRights]"FullControl" $objType =[System.Security.AccessControl.AccessControlType]::"Allow" $Folder=get-childitem -path $ParentPath| Select-Object -Property name,fullname,psiscontainer | Where-Object {$_.psiscontainer -eq "true"} foreach ($folder in $folder) { $path=$folder.fullname $DirName=$folder.name $User="sanders\"+ $DirName $acl=get-acl $DirName $acl $ace = new-object Security.AccessControl.FileSystemAccessRule($User,$colRights,$InheritanceFlag,$PropagationFlag,$objType) $acl.AddAccessRule($ace) set-acl -path $DirName -AclObject $acl $acl = get-acl -Path $DirName $acl }
Partager