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-ADUseren un bloquetry-catch. -
Finalmente, comprobamos la variable de usuario usando la condición
if-elsepara 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
foreachpara verificar cada usuario. -
Usa bloques
try-catchpara verificar que cada usuario sea similar al método anterior. -
Usa la condición
if-elsepara 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
foreachpara verificar cada usuario. -
Usa bloques
try-catchpara verificar que cada usuario sea similar al método anterior. -
Usa la condición
if-elsepara 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
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