Comprobar si el usuario existe en PowerShell

Sheeraz Gul 8 octubre 2023
Comprobar si el usuario existe en PowerShell

Este tutorial demuestra cómo verificar si un usuario existe en PowerShell.

PowerShell Comprobar si el usuario existe

PowerShell proporciona un comando basado en el directorio activo, que se usa para verificar si existe un usuario. Para usar este comando, primero, necesitamos importar el módulo ActiveDirectory; la sintaxis de este comando se encuentra a continuación.

Get-ADUser

Ahora siga los pasos a continuación para verificar si existe un usuario usando PowerShell:

  • Primero, necesitamos importar el módulo ActiveDirectory. Ejecute el siguiente comando:
    Import-Module ActiveDirectory
    
  • Una vez importado el módulo, asignamos el nombre de usuario a una variable.
  • Luego, creamos una variable de usuario usando el Get-ADUser en un bloque try-catch.
  • Finalmente, comprobamos la variable de usuario usando la condición if-else para determinar si es nula o tiene algún valor.
  • Ejecute los siguientes comandos para los tres pasos anteriores:
$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"}

El código anterior buscará al usuario en el directorio activo e imprimirá la salida en función del resultado. Ver la salida:

User not found in the Active Directory

También podemos comprobar varios usuarios a la vez. Siga los pasos a continuación para comprobar si existen varios usuarios en el directorio activo o no:

  • En primer lugar, cree un objeto de usuarios que incluya todos los nombres de los usuarios.
  • Luego ejecute un ciclo foreach para verificar a cada usuario.
  • Utilice bloques try-catch para comprobar que cada usuario es similar al método anterior.
  • Utilice la condición if-else para imprimir los resultados. Vea el comando basado en estos pasos.
$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"
}}

¿Qué sucede si tenemos una gran cantidad de usuarios para verificar? Podemos usar un archivo CSV con el comando Get-ADUser para verificar muchos usuarios.

Siga los pasos a continuación:

  • En primer lugar, cree un objeto vacío de resultados.
  • Importe el CSV con nombres de usuario.
  • Luego ejecute un ciclo foreach para verificar a cada usuario.
  • Utilice bloques try-catch para comprobar que cada usuario es similar al método anterior.
  • Utilice la condición if-else para mostrar los resultados. Vea el comando basado en estos pasos.
$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

Nuestro archivo CSV contiene 20 nombres de diferentes usuarios. El código anterior verificará para cada usuario e imprimirá “true” si el usuario existe e imprimirá “false” si el usuario no existe.

Ver la salida:

UserName ExistUser
-------- ---------
             False
             False
             False
             False
             False
             False
             False
             False
             False
             False
             False
             False
             False
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

Artículo relacionado - PowerShell User