# Scripts d'administration powershell #### Ceci est un script a pour but de créer des utilisateurs Active Directory à partir des informations qui lui seront données. #### Le script peut prendre les informations en ligne de commande, ou de manière interactive. #### Le script va créer un utilisateur avec le prénom et nom complet, et son nom d'utilisateur sera la première lettre de son prénom suivi de son nom de famille complet. #### version 1.3 #### Ceci va permettre d'assigner une valeur aux variables nom et prénom directement en appelant le script. Ces paramètres sont obligatoires. #### Usage : ./ADNewUser.ps1 -prenom Bill -nom Boquet -group InventionsRévolutionnaires param([Parameter(mandatory=$true)]$prenom,[Parameter(mandatory=$true)] $nom,[Parameter(mandatory=$true)] $group) #### Crée son nom d'utilisateur à partir du nom et prénom en ne conservant que la première lettre du prénom, associé au nom de famille $login = $prenom.substring(0,1)+$nom #### Cette commande va reprendre les informations enregistrée dans les valeurs introduites plus tôt et les intégrer à la commande de création de l'utilisateur. #### Elle va ensuite créer le compte, et ajouter deux paramètres. L'utilisateur va être autorisé à changer son mot de passe, mais celui donné plus tôt à une validité infinie dans le temps. New-ADUser -Name $prenom$nom -SamAccountName $login -UserPrincipalName $login@acme.fr -AccountPassword (ConvertTo-SecureString -AsPlainText Bonjour58! -Force) -PasswordNeverExpires $true -CannotChangePassword $false -Enabled $true #### Cette commande va ajouter l'utilisateur au groupe renseigné Add-ADgroupmember -identity $group -members $login #### Cette commande va permettre de créer un dossier au nom de l'utilisateur dans un dossier partagé New-Item -Path C:\Partage\Personnel\$login -ItemType Directory #Le script récupère les autorisasions sur le dossier et supprime toutes les autorisations héritées $acl = Get-Acl C:\Partage\Personnel\$login $acl.SetAccessRuleProtection($true,$false) $acl | Set-Acl #### Définition des règles de permission $usraccess = New-Object System.Security.AccessControl.FileSystemAccessRule("$login","FullControl","ContainerInherit, ObjectInherit", "None","Allow") $adminaccess = New-Object System.Security.AccessControl.FileSystemAccessRule("Administrateur","FullControl","ContainerInherit, ObjectInherit", "None","Allow") #### Ajout des droits de contrôle total pour l'utilisateur et l'administrateur $acl.SetAccessRule($usraccess) $acl.SetAccessRule($adminaccess) $acl | Set-Acl #### Confirmation de l'inscription de l'utilisateur Write-Host "L'utilisateur $login fait désormais partie de votre domaine et du groupe $group. Un dossier à son nom a été créé dans le dossier \\WVM\Partage\Personnel."