Créez un utilisateur et activez un utilisateur avec PowerShell
À présent que vous savez créer des scripts et manipuler des fichiers, nous allons passer à de la gestion d’Active Directory. Je vous invite à sortir votre plus belle machine virtuelle Windows Server, et à me suivre pour ce chapitre.
Avec un Active Directory tout fraîchement installé, vous devriez avoir ceci dans les utilisateurs.
Elle n’est pas un peu vide d’utilisateurs, cette liste ?
C’est juste. La première action que vous allez apprendre est donc la création d’utilisateurs. Pour cette action aussi, une cmdlet existe.
Ouvrez votre invite de commandes PowerShell et entrez la cmdlet suivante :
New-ADUser -Name “David Tennant” -SamAccountName d.tennant -UserPrincipalName “david.tennant@etcomment.fr” -AccountPassword (ConverTo-SecureString -AsPlainText IAmThe10thDoctor -Force -PasswordNeverExpires $true
login : d.tennant ;
mail : david.tennant@etcomment.fr ;
mot de passe : IAmThe10thDoctor ;
pas d’expiration du mot de passe.
Félicitations ! Vous avez créé votre premier utilisateur, (nom : David Tennant, Login : d.tennant) avec PowerShell. Par défaut, il est créé dans l’unité d’organisation Users :
Vous avez créé votre premier utilisateur, oui, mais il est désactivé ! 😩 Vous pouvez le voir avec la petite flèche vers le bas, juste à côté de son icône de profil.
Pas de problème, nous allons l'activer en tapant la cmdlet PowerShell suivante :
Enable-ADAccount d.tennant
Cool, mon utilisateur est activé. 😀 Je le vois car il n’y a plus la petite flèche vers le bas à côté de son profil !
Ce n’est pas pratique pour créer plusieurs utilisateurs à la fois, mais vous allez voir que cette cmdlet va être la base de tous vos scripts de création d’utilisateurs.
Je vous propose pour la suite de reprendre la liste des utilisateurs dont vous avez créé les dossiers dans le “À vous de jouer” du chapitre “Bouclez sur vos données” :
prenom,nom
Mac,Giver
Sarah,Connor
Tom,Baker
David,Tennant
Matt,Smith
Peter,Capaldi
Créez un script PowerShell de création d'utilisateur
Bien. C’est le bon moment pour commencer à écrire… un script ! Et pour l’écrire, vous allez pouvoir réutiliser tout ce que vous avez vu avant, et rien de plus.
Pour ce script, nous allons effectuer les actions suivantes :
demander le nom et le prénom de l’utilisateur ;
générer le login de l’utilisateur ;
mettre un mot de passe par défaut ;
créer l’utilisateur et l’activer.
Vous pouvez commencer à ouvrir votre PowerShell ISE pour créer votre nouveau script.
Je vous laisse ajouter votre cartouche personnalisé préféré au début du script. C’est une bonne habitude à prendre !
1. Demander le prénom et le nom de l’utilisateur.
$nom = Read-Host "Merci de Rentrer le Prénom et le Nom de l’Utilisateur à Créer"
2. Générer un login.
$initialePrenom = $nom.Substring(0,1) #première lettre du prénom
$nomFamille = $nom.Split(“ “)[1] #Récupération du nom de famille
$loginGenere=$initialePrenom+”.”+$nomFamille #Concaténation de la première lettre du nom avec le nom de famille
$loginGenere = $loginGenere.toLower() #On met le tout en minuscules
3. Mettre un mot de passe par défaut
$motDePasse = "Password1!"
4. Créer l’Utilisateur
try {
New-ADUser -Name $nom `
-SamAccountName $loginGenere `
-UserPrincipalName $loginGenere@etcomment.fr `
-AccountPassword (ConvertTo-SecureString -AsPlainText $motDePasse -Force) `
-Enabled $true
Write-Host "L'utilisateur $nom a été créé dans l'AD"
}
Catch {
Write-Host "Une erreur est apparue à la création de l'utilisateur : "$_
}
Votre script devrait ressembler à quelque chose comme ceci :
Essayez de vous remémorer l’intérêt de tous les éléments autres que les simples cmdlets de création d’utilisateurs que j’ai pu y mettre.
Notre script fonctionne correctement, comme le montre notre Active Directory.
La vérification de la présence de notre utilisateur est bien sûr aussi possible avec une cmdlet, dans votre invite PowerShell. Essayez de l’afficher avec la cmdlet Get-ADUser -Filter *
.
Et comme souvent avec PowerShell, vous pouvez sélectionner les informations qui vous intéressent avec les pipelines et Select-Object
. Eh oui, vous voyez, tout ce qu’on a pu faire avant sert bien !
Get-ADUser -Filter * | select Name, samAccountName, UserPrincipalName
.
Et vous pouvez même générer un fichier texte avec vos différents filtres, comme ceci :
Get-ADUser -Filter * | Select-Object name, samAccountName, UserPrincipalName | Export-Csv UserAdUTF8.csv -Encoding UTF8
Et là encore, vous pouvez vérifier avec la cmdlet Get-Content .\UserAdUTF8.csv
.
Comprenez la gestion des groupes avec PowerShell
Créez le groupe à partir d’une entrée utilisateur
La cmdlet à connaître pour la création de groupe sous PowerShell est New-ADGroup
.
Et comme vous commencez à être habitué à PowerShell, vous pouvez utiliser la cmdlet en lui passant le résultat d’un Read-Host
.
New-ADGroup $(Read-Host “Entrez le nom du groupe à créer”) -GroupScope Global
.
Et en gardant la même logique qu’avec la création d’utilisateur, vous avez une cmdlet qui vous permet de vérifier la création du groupe : Get-ADGroup
.
Testez avec un filtre :
Get-ADGroup -Filter *
Et pour afficher notre groupe uniquement : Get-ADGroup -Filter * | Where-Object {$_.Name -eq “Support”}
.
Insérez les utilisateurs dans le groupe
Avoir un groupe, c’est bien, avoir un groupe avec des utilisateurs dedans, c’est mieux ! Vous avez accès à la cmdlet Add-ADGroupMember pour insérer les utilisateurs dans un groupe.
Essayez de mettre l’utilisateur “David Tennant” dans le groupe “Support”.
Add-ADGroupMember -Identity “Support” -Members “d.tennant”
Tout comme précédemment, vous pouvez utiliser la cmdlet Get-ADGroupMember
pour afficher la liste des utilisateurs dans le groupe Support :
Get-ADGroupMember “Support”
Et chose encore plus formidable que de sortir la liste des utilisateurs du groupe dans votre invite de commandes PowerShell, vous pouvez directement l’exporter dans un fichier CSV !
Get-ADGroupMember “Support” | Export-Csv “C:\Scripts\groupeSupport.csv” -Encoding UTF8
Et comme souvent avec les cmdlets de récupération de données, n’hésitez surtout pas à jouer avec Where-Object
ou Select-Object
.
À vous de jouer !
En tant que technicien confirmé, vous souhaitez maintenant avoir un script complet de création d’utilisateur.
Reprenez le script de création d’utilisateur fait précédemment pour y intégrer la gestion du groupe de l’utilisateur.
Pensez à bien commenter votre script, et à utiliser des variables.
<#
Description : Script interactif de création d'utilisateur dans l'Active Directory
Usage : createUserGroup.ps1
ATTENTION : Pour les prénoms/noms composés, bien mettre un trait d'union
Auteur : Stiven G.
Version 0.1
#>
#Récupération du nom
$nom = Read-Host "Merci de rentrer le prénom et de nom de l'utilisateur à créer"
$groupe = Read-Host "Merci de rentrer le groupe de l'utilisateur à créer"
#Génération du login
$initialePrenom = $nom.Substring(0,1) #On prend la première lettre du prénom
$nomFamille = $nom.Split(" ")[1] #On récupère le nom de famille
$loginGenere = $initialePrenom+"."+$nomFamille #Concaténation de la première lettre du prénom avec le nom de famille
$loginGenere = $loginGenere.ToLower() #On met le tout en minuscules
#Mettre un mot de passe par défaut
$motDePasse = "Password1!"`
Try {
New-ADUser -Name $nom `
-SamAccountName $loginGenere `
-UserPrincipalName $loginGenere@etcomment.fr `
-AccountPassword (ConvertTo-SecureString -AsPlainText $motDePasse -Force) `
-Enabled $true
Write-Host "L'utilisateur $nom a été créé dans l'AD"
}
Catch {
Write-Host "Une erreur est apparue à la création de l'utilisateur : "$_
}
Try {
Add-ADGroupMember -Identity $groupe -Members $loginGenere
Write-Host "L'utilisateur $nom a été ajouté au groupe $groupe"
}
Catch {
Write-Host "Une erreur est apparue à l'ajout de l'utilisateur $nom dans le groupe $groupe : "$_
}
En résumé
La commande
New-ADUser
permet d'ajouter un utilisateur dans l’Active Directory.La commande
New-ADGroup
permet d'ajouter un groupe dans l’Active Directory.La commande
Add-ADGroupMember
permet d’insérer des utilisateurs dans un groupe Active Directory.Les commandes
Get-ADUser
,Get-ADGroup
etGet-ADGroupMember
permettent de lister les informations des utilisateurs et des groupes de l’Active Directory.Et surtout, vous savez réaliser vos premiers scripts PowerShell !
Vous maîtrisez maintenant la gestion de votre Active Directory via l’utilisation de script PowerShell. Vous allez maintenant terminer par l’automatisation et la planification de tâches de sauvegarde.