Je lance un conteneur Docker basé sur l'image de base Windows Server 2019 suivante :
mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
Ce conteneur exécute une application ASP.Net 4.8 et écrit dans le dossier logs
. Voici le chemin complet :
C:\inetpub\wwwroot\logs
Mon application est présente à la racine du dossier wwwroot
. J'essaie de donner l'autorisation Write
à l'utilisateur IIS_IUSRS
sur le dossier logs
mais je reçois l'erreur suivante :
Exception calling "SetAccessRule" with "1" argument(s): "This access control list is not in canonical form and therefore cannot be modified.
Voici mon code PowerShell :
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("IIS_IUSRS", "Write", "ContainerInherit,ObjectInherit", "None", "Allow")
$acl = Get-ACL "C:\inetpub\wwwroot\Logs"
$acl.AddAccessRule($accessRule)
Set-ACL -Path "C:\inetpub\wwwroot\Logs" -ACLObject $acl
L'erreur se produit à la ligne 3 ci-dessus où elle appelle AddAccessRule
.
Comment puis-je résoudre ce problème ?