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-ADUser
dans un bloctry-catch
. -
Enfin, nous vérifions la variable utilisateur en utilisant la condition
if-else
pour 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
foreach
pour vérifier chaque utilisateur. -
Utilisez des blocs
try-catch
pour vérifier que chaque utilisateur est similaire à la méthode ci-dessus. -
Utilisez la condition
if-else
pour 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
foreach
pour vérifier chaque utilisateur. -
Utilisez des blocs
try-catch
pour vérifier que chaque utilisateur est similaire à la méthode ci-dessus. -
Utilisez la condition
if-else
pour 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