Untitled

 avatar
unknown
plain_text
20 days ago
2.3 kB
3
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 !"
Leave a Comment