Cómo comprobar si el usuario existe en PowerShell

Cómo comprobar si el usuario existe en PowerShell

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

Verificar si el usuario existe en PowerShell

PowerShell proporciona un comando basado en el directorio activo, que se utiliza para comprobar si un usuario existe. Para usar este comando, primero debemos importar el módulo ActiveDirectory; la sintaxis para este comando es la siguiente.

Get-ADUser

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

  • Primero, necesitamos importar el módulo ActiveDirectory. Ejecuta el siguiente comando:
    Import-Module ActiveDirectory
    
  • Una vez que se importa el módulo, asignamos el nombre del usuario a una variable.
  • Luego, creamos una variable de usuario usando 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.
  • Ejecuta 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 verificará al usuario en el directorio activo y mostrará la salida según el resultado. Ve la salida:

User not found in the Active Directory

También podemos verificar múltiples usuarios a la vez. Sigue los pasos a continuación para verificar si existen varios usuarios en el directorio activo o no:

  • Primero que nada, crea un objeto de usuarios que incluya todos los nombres de los usuarios.
  • Luego ejecuta un bucle foreach para verificar cada usuario.
  • Usa bloques try-catch para verificar que cada usuario sea similar al método anterior.
  • Usa la condición if-else para imprimir los resultados. Ve 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é pasa si tenemos un gran número de usuarios para verificar? Podemos usar un archivo CSV con el comando Get-ADUser para verificar a muchos usuarios.

Sigue los pasos a continuación:

  • Primero que nada, crea un objeto vacío de resultados.
  • Importa el CSV con los nombres de usuario.
  • Luego ejecuta un bucle foreach para verificar cada usuario.
  • Usa bloques try-catch para verificar que cada usuario sea similar al método anterior.
  • Usa la condición if-else para mostrar los resultados. Ve 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á a cada usuario y mostrará true si el usuario existe y mostrará false si el usuario no existe.

Ve la salida:

UserName ExistUser
-------- ---------
             False
             False
             False
             False
             False
             False
             False
             False
             False
             False
             False
             False
             False
¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete
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