Untitled
# Variables $Uo = @("ACCUEIL", "COMPTA", "COMMERCIAUX", "DIRECTION", "IT", "RH", "R&D") $Dossier = "D:\" # Chemin du dossier à configurer $NomPartage = "$" # Nom du partage (le $ masque le partage) $TabDroit= @("RW", "R") foreach ($OuT in $Uo){ $DossierT = "$Dossier\$OuT" # Correction pour la construction du chemin # Étape 1 : Créer le dossier si nécessaire if (-Not (Test-Path -Path $DossierT)) { New-Item -Path $DossierT -ItemType Directory Write-Output "Dossier créé : $DossierT" } else { Write-Output "Le dossier existe déjà : $DossierT" } foreach ($Droit in $TabDroit){ $DL = "DL-$OuT-$Droit" # Nom du groupe $NomPrtgT = "$OuT$NomPartage" # Correction de la variable pour le nom du partage # Configurer les permissions NTFS if ($Droit -eq "RW") { Write-Output "Configuration des permissions NTFS pour RW..." icacls $DossierT /grant "$OuT:(OI)(CI)M" /inheritance:e Write-Output "Permissions NTFS configurées en lecture-écriture." } else { Write-Output "Configuration des permissions NTFS pour R..." icacls $DossierT /grant "$OuT:(OI)(CI)RX" /inheritance:e Write-Output "Permissions NTFS configurées en lecture seule." } # Créer ou modifier le partage SMB if ($Droit -eq "RW") { New-SmbShare -Name $NomPrtgT -Path $DossierT -FullAccess $OuT Write-Output "Partage réseau créé avec FullAccess : \\$($env:COMPUTERNAME)\$NomPrtgT" } else { New-SmbShare -Name $NomPrtgT -Path $DossierT -ReadAccess $OuT Write-Output "Partage réseau créé avec ReadAccess : \\$($env:COMPUTERNAME)\$NomPrtgT" } } } # Étape 4 : Vérification de la configuration Write-Output "Vérification des partages SMB :" Get-SmbShare -Name $NomPrtgT | Format-Table -AutoSize Write-Output "Vérification des permissions SMB :" Get-SmbShareAccess -Name $NomPrtgT | Format-Table -AutoSize Write-Output "Vérification des permissions NTFS :" icacls $DossierT Write-Output "Configuration terminée avec succès !"
Leave a Comment