Überprüfen Sie, ob der Benutzer in PowerShell vorhanden ist
Dieses Tutorial zeigt, wie Sie überprüfen, ob ein Benutzer in PowerShell vorhanden ist.
PowerShell-Prüfung, ob Benutzer vorhanden ist
PowerShell stellt auf Basis des Active Directory einen Befehl bereit, mit dem geprüft wird, ob ein Benutzer existiert. Um diesen Befehl zu verwenden, müssen wir zuerst das Modul ActiveDirectory
importieren; Die Syntax für diesen Befehl ist unten.
Get-ADUser
Führen Sie nun die folgenden Schritte aus, um mithilfe von PowerShell zu überprüfen, ob ein Benutzer vorhanden ist:
-
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 Variablen zu.
-
Dann erstellen wir eine Benutzervariable mit dem
Get-ADUser
in einemtry-catch
-Block. -
Schließlich überprüfen wir die Benutzervariable mit der Bedingung
if-else
, um festzustellen, ob sie null ist oder einen Wert hat. -
Führen Sie die folgenden Befehle für die obigen 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 sucht nach dem Benutzer im Active Directory und druckt die Ausgabe basierend auf dem Ergebnis. Siehe die Ausgabe:
User not found in the Active Directory
Wir können auch mehrere Benutzer gleichzeitig überprüfen. Führen Sie die folgenden Schritte aus, um zu überprüfen, ob mehrere Benutzer im Active Directory vorhanden sind oder nicht:
-
Erstellen Sie zunächst ein Benutzerobjekt, das alle Benutzernamen enthält.
-
Führen Sie dann eine
foreach
-Schleife aus, um jeden Benutzer zu überprüfen. -
Verwenden Sie
try-catch
-Blöcke, um zu überprüfen, ob jeder Benutzer der obigen Methode ähnlich ist. -
Verwenden Sie die Bedingung
if-else
, um die Ergebnisse auszudrucken. Sehen Sie sich den Befehl an, der auf diesen Schritten basiert.
$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 überprüfen müssen? Wir können eine CSV-Datei mit dem Befehl Get-ADUser
verwenden, um viele Benutzer zu überprüfen.
Folgen Sie den unteren Schritten:
-
Erstellen Sie zunächst ein leeres Ergebnisobjekt.
-
Importieren Sie die CSV-Datei 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, ob jeder Benutzer der obigen Methode ähnlich ist. -
Verwenden Sie die Bedingung
if-else
, um die Ergebnisse anzuzeigen. Sehen Sie sich den Befehl an, der auf diesen Schritten basiert.
$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 prüft jeden Benutzer und gibt true
aus, wenn der Benutzer existiert, und false
, 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