Untitled
unknown
plain_text
9 months ago
2.3 kB
6
Indexable
# 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 !"
Editor is loading...
Leave a Comment