Comment vérifier si un utilisateur existe dans PowerShell
Ce tutoriel montre comment vérifier si un utilisateur existe dans PowerShell.
Vérifier si un utilisateur existe avec PowerShell
PowerShell fournit une commande basée sur l’annuaire actif, qui est utilisée pour vérifier si un utilisateur existe. Pour utiliser cette commande, d’abord, nous devons importer le module ActiveDirectory ; la syntaxe de cette commande est ci-dessous.
Get-ADUser
Maintenant, suivez les étapes ci-dessous pour vérifier si un utilisateur existe en utilisant PowerShell :
-
Tout d’abord, nous devons importer le module
ActiveDirectory. Exécutez la commande suivante :Import-Module ActiveDirectory -
Une fois le module importé, nous attribuons le nom d’utilisateur à une variable.
-
Ensuite, nous créons une variable utilisateur en utilisant
Get-ADUserdans un bloctry-catch. -
Enfin, nous vérifions la variable utilisateur en utilisant la condition
if-elsepour déterminer si elle est nulle ou a une certaine valeur. -
Exécutez les commandes suivantes pour les trois étapes ci-dessus :
$UserName = "Sheeraz"
$CheckUser = $(try { Get-ADUser $UserName } catch { $null })
If ($CheckUser -ne $Null) {
"User exists in the Active Directory"
}
Else {
"User not found in the Active Directory"
}
Le code ci-dessus vérifiera l’utilisateur dans l’annuaire actif et imprimera la sortie en fonction du résultat. Voici la sortie :
User not found in the Active Directory
Nous pouvons également vérifier plusieurs utilisateurs à la fois. Suivez les étapes ci-dessous pour vérifier si plusieurs utilisateurs existent dans l’annuaire actif ou non :
-
Tout d’abord, créez un objet d’utilisateurs qui inclut tous les noms des utilisateurs.
-
Ensuite, exécutez une boucle
foreachpour vérifier chaque utilisateur. -
Utilisez des blocs
try-catchpour vérifier que chaque utilisateur est similaire à la méthode ci-dessus. -
Utilisez la condition
if-elsepour imprimer les résultats. Voici la commande basée sur ces étapes.
$CheckUsers = @("Sheeraz", "Jhon", "Mike")
foreach ($CheckUser in $CheckUsers) {
$UserObject = $(try { Get-ADUser $CheckUser } catch { $Null })
If ($UserObject -ne $Null) {
Write-Host "The user $CheckUser already exists" -ForegroundColor "green"
}
else {
Write-Host "The user $CheckUser does not exists " -ForegroundColor "red"
}
}
Que faire si nous avons un grand nombre d’utilisateurs à vérifier ? Nous pouvons utiliser un fichier CSV avec la commande Get-ADUser pour vérifier de nombreux utilisateurs.
Suivez les étapes ci-dessous :
-
Tout d’abord, créez un objet vide pour les résultats.
-
Importez le CSV avec les noms d’utilisateurs.
-
Ensuite, exécutez une boucle
foreachpour vérifier chaque utilisateur. -
Utilisez des blocs
try-catchpour vérifier que chaque utilisateur est similaire à la méthode ci-dessus. -
Utilisez la condition
if-elsepour montrer les résultats. Voici la commande basée sur ces étapes.
$UsersResult = @()
Import-Csv 'C:\Users\Admin\demo.csv' | ForEach-Object {
$CheckUser = $_."UserName"
$UserObject = $(try { Get-ADUser $CheckUser } catch { $Null })
If ($UserObject -ne $Null) {
$ExistUser = $true
}
else {
$ExistUser = $false
}
$UsersResult += New-Object PSObject -Property @{
UserName = $CheckUser
ExistUser = $ExistUser
}
}
$UsersResult | select UserName, ExistUser
Notre fichier CSV contient 20 noms d’utilisateurs différents. Le code ci-dessus vérifiera chaque utilisateur et imprimera true si l’utilisateur existe et imprimera false si l’utilisateur n’existe pas.
Voici la sortie :
UserName ExistUser
-------- ---------
False
False
False
False
False
False
False
False
False
False
False
False
False
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook