
Contexte
Dans un environnement Windows Server, les partages de fichiers SMB sont au cœur de la collaboration. Gérer les listes de contrôle d’accès (ACL) via l’interface graphique est fastidieux lorsqu’on doit automatiser la création de nombreux partages ou appliquer des règles de sécurité cohérentes.

Quand l’utiliser ?
- Déploiement automatisé de partages sur plusieurs serveurs.
- Mise en conformité avec une politique de sécurité (ex. : seuls les membres du groupe
Financeen lecture). - Réorganisation des droits d’accès sans interruption de service.
Étapes 🔹
- Créer le dossier à partager
- Créer le partage SMB
- Définir les ACL NTFS (lecture pour le groupe Finance, modification pour le groupe FinanceAdmins)
- Vérifier les autorisations du partage
- Tester l’accès depuis un client
New-Item -Path "D:\Data\Finance" -ItemType Directory -Force
New-SmbShare -Name "FinanceShare" -Path "D:\Data\Finance" -FullAccess "DOMAIN\Administrators"
$acl = Get-Acl "D:\Data\Finance"
$permRead = "DOMAIN\Finance","ReadAndExecute","ContainerInherit,ObjectInherit","None","Allow"
$permModify = "DOMAIN\FinanceAdmins","Modify","ContainerInherit,ObjectInherit","None","Allow"
$acl.SetAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule $permRead))
$acl.AddAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule $permModify))
Set-Acl -Path "D:\Data\Finance" -AclObject $acl
Get-SmbShareAccess -Name "FinanceShare"
Invoke-Command -ComputerName CLIENT01 -ScriptBlock { Test-Path "\\SERVER01\FinanceShare" }
Méthode alternative
Utiliser le module SMBShare via Set-SmbShare pour modifier les autorisations directement sans passer par les ACL NTFS, mais cela ne gère que les droits de partage, pas les droits NTFS sous‑jacents.
⚠️ Bonnes pratiques de sécurité
- Ne jamais accorder
FullControlà des groupes génériques (ex. :Domain Users). - Utiliser des groupes de sécurité dédiés (ex. :
Finance,FinanceAdmins). - Activer l’audit des accès SMB (
auditpol /set /subcategory:"File Share"). - Vérifier régulièrement les partages orphelins avec
Get-SmbShare | Where-Object {$_.FolderPath -eq $null}.
✅ Conclusion
En combinant New-SmbShare et la gestion fine des ACL NTFS via PowerShell, vous pouvez automatiser la mise en place de partages sécurisés, cohérents et facilement auditables. Intégrez ces scripts dans vos processus d’orchestration (PowerShell Desired State Configuration, Ansible, etc.) pour garantir la conformité à chaque déploiement.
