Come controllare se l'utente esiste in PowerShell

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 blocco try-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
Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Autore: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

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