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 bloquetry-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 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