{ * info-rmatique ! }

commandes pour gérer les droits et création de dossiers personnels

-> icacls :
icacls $cheminDossier /inheritance:r # désactive héritage
icacls $cheminDossier /remove:g « Users » /T # Supprime les permissions existante
$utilisateurAD = « $($utilisateur.SamAccountName) »
icacls $cheminDossier /grant « $utilisateurAD:(OI)(CI)F » /T # défini les droits en contrôle total pour utilis.
icacls $cheminDossier /grant « $groupeAD:(OI)(CI)M » /T # défini les droits en modif pour groupeAD
(OI)(CI) : Héritage des objets (fichiers/dossiers) = ce dossier, ss-doss, fichiers
(OI) = ce dossier, fichiers
(CI) = ce dossier, ss-doss
aucun = ce dossier seulement
(S/E) = ss-doss ?? voir doc Microsoft
/grant:r -> :r pour ajouter les nouvelles autorisations, sans -> remplacer
F : Full control (utilisateur)
M : Modify (lecture/écriture pour le groupe)
RX – Lecture et exécution de l’accès
R – Accès en lecture seule
W – Accès en écriture seule
/t Effectue l’opération sur tous les fichiers spécifiés dans le répertoire actif et ses sous-répertoires.
[/grant[ :r] <>:[…]] Accorde les droits d’accès utilisateur spécifiés. Les autorisations remplacent les autorisations explicites précédemment accordées.
L’ajout du :r signifie que les autorisations sont ajoutées à toutes les autorisations explicites précédemment accordées.

-> NTFSSecurity :
Install-Module NTFSSecurity
Add-NTFSAccess –Path « C:\Partage\Public\ » –Account « utilisateur01@domaine.local » –AccessRights Modify
Remove-NTFSAccess –Path « C:\Partage\Public\ » –Account « utilisateur03@domaine.local » –AccessRights Modify
Get-NTFSEffectiveAccess C:\Partage\Personnel\utilisateur01

* Création groupe AD Domaine Local

New-ADGroup -Name $NewGroupADName -Path $PathOUGroupsADPreo -GroupScope DomainLocal -Description « … »

* Ex script

#Récupération des utilisateurs dans l’OU
$PathOU = « OU=Preo-Groupe1,OU=stagiaires,DC=SupremeAuto,DC=fr »
$users = Get-ADUser -Filter * -SearchBase $PathOU

#Parcourir les utilisateurs de l’OU
Foreach($utilisateur in $users){
$NomUtil = $utilisateur.SamAccountName
write-host $NomUtil

#Boucle de création des dossiers et d'attribution des droits
Try {
  $PathFolderDP = "\\TULIPE\share\"
  $NameNewFolder = "D-$NomUtil"
  $PathNewFolder = $PathFolderDP+$NameNewFolder

  #Création dossier personnel de l'utilisateur      
  New-Item -Path $PathFolderDP -Name $NameNewFolder -ItemType Directory
  Write-Host "dossier créé pour $NomUtil"