Wie man überprüft, ob ein Benutzer in PowerShell existiert

Dieses Tutorial demonstriert, wie man überprüft, ob ein Benutzer in PowerShell existiert.
PowerShell Überprüfen, ob ein Benutzer existiert
PowerShell bietet einen Befehl, der auf dem Active Directory basiert und verwendet wird, um zu überprüfen, ob ein Benutzer existiert. Um diesen Befehl zu verwenden, müssen wir zunächst das Modul ActiveDirectory
importieren; die Syntax für diesen Befehl ist unten.
Get-ADUser
Befolgen Sie nun die folgenden Schritte, um zu überprüfen, ob ein Benutzer mit PowerShell existiert:
-
Zuerst müssen wir das Modul
ActiveDirectory
importieren. Führen Sie den folgenden Befehl aus:Import-Module ActiveDirectory
-
Sobald das Modul importiert ist, weisen wir den Benutzernamen einer Variable zu.
-
Dann erstellen wir eine Benutzer-Variable mit
Get-ADUser
in einemtry-catch
-Block. -
Schließlich überprüfen wir die Benutzer-Variable mit der
if-else
-Bedingung, um festzustellen, ob sie null ist oder einen Wert hat. -
Führen Sie die folgenden Befehle für die oben genannten drei Schritte aus:
$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"
}
Der obige Code überprüft den Benutzer im Active Directory und gibt die Ausgabe basierend auf dem Ergebnis aus. Siehe die Ausgabe:
User not found in the Active Directory
Wir können auch mehrere Benutzer gleichzeitig prüfen. Folgen Sie den folgenden Schritten, um zu überprüfen, ob mehrere Benutzer im Active Directory existieren oder nicht:
-
Zuerst erstellen Sie ein Objekt von Benutzern, das die Namen aller Benutzer enthält.
-
Dann führen Sie eine
foreach
-Schleife aus, um jeden Benutzer zu überprüfen. -
Verwenden Sie
try-catch
-Blöcke, um zu überprüfen, dass jeder Benutzer ähnlichen wie die oben beschriebene Methode ist. -
Verwenden Sie die
if-else
-Bedingung, um die Ergebnisse auszudrucken. Sehen Sie den Befehl basierend auf diesen Schritten.
$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"
}
}
Was ist, wenn wir eine große Anzahl von Benutzern zu überprüfen haben? Wir können eine CSV-Datei mit dem Befehl Get-ADUser
verwenden, um viele Benutzer zu überprüfen.
Befolgen Sie die folgenden Schritte:
-
Zuerst erstellen Sie ein leeres Objekt für Ergebnisse.
-
Importieren Sie die CSV mit Benutzernamen.
-
Führen Sie dann eine
foreach
-Schleife aus, um jeden Benutzer zu überprüfen. -
Verwenden Sie
try-catch
-Blöcke, um zu überprüfen, dass jeder Benutzer ähnlich wie in der oben beschriebenen Methode ist. -
Verwenden Sie die
if-else
-Bedingung, um die Ergebnisse anzuzeigen. Sehen Sie den Befehl basierend auf diesen Schritten.
$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
Unsere CSV-Datei enthält 20 Namen verschiedener Benutzer. Der obige Code wird jeden Benutzer überprüfen und true
ausgeben, wenn der Benutzer existiert, und false
ausgeben, wenn der Benutzer nicht existiert.
Siehe die Ausgabe:
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