1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#import-module servermanager
#Add-WindowsFeature -Name "RSAT-AD-PowerShell" -IncludeAllSubFeature
#Chargement du module ActiveDirectory (voir ci-dessus pour l'installer)
import-module activedirectory
# Importation du fichier .CSV
Write-Host "Importation du fichier CSV"
$utilisateurs = Import-Csv -path “C:\Users\a-admhisi\Documents\PowerShellScript\users.csv” -delimiter “;”
$i=0;
# Création de l’utilisateur
Write-Host "Création de l’utilisateur"
foreach($utilisateurs in $utilisateurs)
{
$name = $utilisateurs.name
$OldOwner = "BUILTIN\Administrateurs"
$NewOwner = New-Object System.Security.Principal.NTAccount("domain.lan", $name)
$path = 'C:\Partages Réseau\Utilisateurs'
If (-not (Test-Path "$path\$name")) {
New-Item -ItemType directory -Name $name -Path $path
Write-Host "Création de $path\$name"
$acl = Get-Acl "$path\$name"
$acl.SetAccessRuleProtection($True, $False)
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("CREATEUR PROPRIETAIRE", "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)
Write-Host "Droit 'CREATEUR PROPRIETAIRE' affecté "
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("BUILTIN\Administrateurs", "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)
Write-Host "Droit 'BUILTIN\Administrateurs' affecté "
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("AUTORITE NT\Système", "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)
Write-Host "Droit 'AUTORITE NT\Système' affecté "
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule($NewOwner, "Modify", "ContainerInherit, ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)
Write-Host "Droit 'domain.lan\$name' affecté "
Set-Acl "$path\$name" $acl
Write-Host "Droits affectés "
$i++;
}else{
Write-Host "$path\$name déjà existant"
}
}
Write-Host "$i dossier(s) utilisateur(s) créé(s)" |
Partager