Come controllare se l'utente esiste in PowerShell

Questo tutorial dimostra come controllare se un utente esiste in PowerShell.
Controlla se un utente esiste in PowerShell
PowerShell fornisce un comando basato sull’active directory, utilizzato per controllare se un utente esiste. Per utilizzare questo comando, prima dobbiamo importare il modulo ActiveDirectory
; la sintassi per questo comando è qui sotto.
Get-ADUser
Ora segui i passi qui sotto per controllare se un utente esiste utilizzando PowerShell:
-
Per prima cosa, dobbiamo importare il modulo
ActiveDirectory
. Esegui il seguente comando:Import-Module ActiveDirectory
-
Una volta importato il modulo, assegnamo il nome utente a una variabile.
-
Poi, creiamo una variabile utente usando
Get-ADUser
in un bloccotry-catch
. -
Infine, controlliamo la variabile utente utilizzando la condizione
if-else
per determinare se è null o ha qualche valore. -
Esegui i seguenti comandi per i tre passi sopra:
$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"
}
Il codice sopra controllerà l’utente nell’active directory e stamperà l’output in base al risultato. Guarda l’output:
User not found in the Active Directory
Possiamo anche controllare più utenti contemporaneamente. Segui i passi qui sotto per controllare se più utenti esistono nell’active directory o meno:
-
Prima di tutto, crea un oggetto di utenti che include i nomi di tutti gli utenti.
-
Poi esegui un ciclo
foreach
per controllare ciascun utente. -
Usa blocchi
try-catch
per controllare che ciascun utente sia simile al metodo sopra. -
Usa la condizione
if-else
per stampare i risultati. Guarda il comando basato su questi passi.
$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"
}
}
E se abbiamo un numero elevato di utenti da controllare? Possiamo utilizzare un file CSV con il comando Get-ADUser
per controllare molti utenti.
Segui i passi qui sotto:
-
Prima di tutto, crea un oggetto vuoto di risultati.
-
Importa il CSV con i nomi degli utenti.
-
Poi esegui un ciclo
foreach
per controllare ciascun utente. -
Usa blocchi
try-catch
per controllare che ciascun utente sia simile al metodo sopra. -
Usa la condizione
if-else
per mostrare i risultati. Guarda il comando basato su questi passi.
$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
Il nostro file CSV contiene 20 nomi di diversi utenti. Il codice sopra controllerà ciascun utente e stamperà true
se l’utente esiste e stamperà false
se l’utente non esiste.
Guarda l’output:
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