Get-ADUser es uno de los cmdlets básicos de PowerShell que se puede usar para obtener información sobre los usuarios del dominio de Active Directory y sus propiedades. Puede usar Get-ADUser para ver el valor de cualquier atributo de objeto de usuario de AD, mostrar una lista de usuarios en el dominio con los atributos necesarios y exportarlos a CSV, y usar varios criterios y filtros para seleccionar usuarios de dominio.

El cmdlet Get-ADUser ha estado disponible desde PowerShell 2.0 y es parte del módulo especial Active Directory para Windows PowerShell (introducido en Windows Server 2008 R2). Los cmdlets RSAT-AD-PowerShell le permiten realizar varias operaciones en objetos AD.

Nota. Anteriormente, para obtener información sobre los atributos de las cuentas de usuario de AD, tenía que usar diferentes herramientas: consola ADUC (incluidas las consultas de AD guardadas), scripts vbs, dsquery, etc. Todas estas herramientas se pueden reemplazar fácilmente con el cmdlet Get-ADUser.

En este ejemplo, mostraremos cómo obtener información sobre la última vez que se cambió la contraseña del usuario y la fecha de vencimiento de la contraseña mediante el cmdlet Get-ADUser de PowerShell.

¿Cómo encontrar el usuario de AD y las propiedades de la lista con Get-ADUser?

Para usar el módulo RSAT-AD-PowerShell, debe ejecutar la consola de PowerShell elevada e importar el módulo con el comando:

Import-Module activedirectory

El módulo RSAT-AD-PowerShell se instala de forma predeterminada en Windows Server 2012 (y versiones posteriores) cuando implementó el rol de Servicios de dominio de Active Directory (AD DS). Para instalar el módulo en un servidor miembro del dominio, ejecute el comando:

Install-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature

En la versión de escritorio de Windows 10 para usar el cmdlet Get-ADUser, debe instalar la versión apropiada de RSAT y habilitar la AMódulo de directorio activo para Windows PowerShell función a través del Panel de control (Programas -> Activar o desactivar funciones de Windows -> Herramientas de administración de servidor remoto -> Herramientas de administración de funciones -> Herramientas de AD DS y AD LDS -> Herramientas de AD DS).

Módulo de Active Directory para Windows PowerShell en Windows 10

Puede instalar el módulo RSAT AD en Windows 10 1809 y versiones posteriores desde PowerShell:

Add-WindowsCapability –online –Name "Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0"

También hay una forma de usar el módulo AD-PowerShell sin instalar RSAT en su computadora. Basta con copiar los archivos del módulo principal e importar el módulo a la sesión PoSh:

Import-Module "C:PSADMicrosoft.ActiveDirectory.Management.dll"
Import-Module "C:PSADMicrosoft.ActiveDirectory.Management.resources.dll"

Se puede obtener una lista completa de todos los argumentos del cmdlet Get-ADUser de la siguiente manera:

help Get-ADUser

Para usar el cmdlet Get-ADUser, no es necesario ejecutarlo con una cuenta con un administrador de dominio o permisos delegados. Cualquier usuario de dominio de AD autorizado puede ejecutar comandos de PowerShell para obtener los valores de la mayoría de los atributos de los objetos de AD (excepto los confidenciales, consulte el ejemplo en el artículo LAPS). Si necesita ejecutar el comando Get-ADUser desde una cuenta diferente, use el Credencial parámetro.

Para mostrar la lista de todas las cuentas de dominio, ejecute este comando:

Get-ADUser -filter *

Importante. No se recomienda ejecutar este comando en los dominios con una gran cantidad de cuentas, ya que el controlador de dominio que proporciona la información puede estar sobrecargado.

Para ejecutar una consulta de AD en un controlador de dominio específico, use el -Servidor parámetro:

Get-ADUser –Server DC01.woshub.com –Identity tuser

Get-ADUser -filter * - gelifica a todos los usuarios en el dominio

De forma predeterminada, el cmdlet Get-ADUser devuelve solo 10 atributos de usuario básicos (de más de 120 propiedades de la cuenta de usuario): DistinguishedName, SamAccountName, Name, SID, UserPrincipalName, ObjectClass, estado de la cuenta (habilitado: True / False según el atributo AD de UserAccountControl ), etc. En este caso, la salida del cmdlet no contiene información sobre la hora del último cambio de contraseña de usuario.

Para mostrar la información detallada sobre todos los atributos de usuario disponibles, ejecute este comando:

Get-ADUser -identity tuser -properties *

get-aduser enumera todas las propiedades del objeto de usuario

El cmdlet Get-ADUser con el Propiedades * El parámetro mostraba una lista de todos los atributos de usuario de AD y sus valores.

Luego pasaremos al formato de la salida Get-ADUser para que se muestren los atributos de usuario necesarios. Puede mostrar varios atributos de usuario a la vez:

  • La contraseña expiró
  • ContraseñaÚltimo
  • La contraseña nunca expira
  • LastLogonTimestamp

Ejecute el comando:

Get-ADUser tuser -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires, lastlogontimestamp

get-aduser - propiedades PasswordExpired, PasswordLastSet, PasswordNeverExpires, lastlogontimestamp

Ahora, en los datos del usuario está la información sobre el estado de la cuenta (Caducada: Verdadero / Falso), la fecha del último cambio de contraseña y la hora del último inicio de sesión del usuario en el dominio (lastlogontimestamp). Para mostrar esta información en una vista de tabla más conveniente y eliminar todos los atributos innecesarios, utilice el Seleccionar-Objeto - Propiedad o Tabla de formato:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Get-ADUser obtiene información de contraseña para todos los usuarios con format-table

Get-ADUser: Búsqueda de varias unidades organizativas con SearchBase

Para mostrar usuarios solo de un contenedor de dominio específico (unidad organizativa), utilice el SearchBase parámetro:

Get-ADUser -SearchBase 'OU=London,DC=woshub,DC=loc' -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Si necesita seleccionar usuarios de varias OU a la vez, use el siguiente script de PowerShell:

$OUs = "OU=NY,DC=woshub,DC=com","OU=LA,DC=woshub,DC=com","OU=MA,DC=woshub,DC=com"
$OUs | foreach {Get-ADUser -SearchBase $_ -Filter * |select Name, Enabled}

¿Cómo obtener correos electrónicos de Active Directory usando PowerShell?

La dirección de correo electrónico del usuario es uno de los atributos del objeto de usuario en Active Directory. Para enumerar las direcciones de correo electrónico de los usuarios, debe agregar el Dirección de correo electrónico campo a las propiedades del cmdlet Get-ADUser.

Get-ADUser -filter * -properties EmailAddress -SearchBase 'OU=Paris,OU-Fr,DC=woshub,DC=com'| select-object Name, EmailAddress

Get-ADUser EmailAddress

La lista de cuentas de usuario activas con direcciones de correo electrónico:

Get-ADUser -Filter {(mail -ne "null") -and (Enabled -eq "true")} -Properties Surname,GivenName,mail | Select-Object Name,Surname,GivenName,mail | Format-Table

Para obtener la lista de usuarios de Active Directory sin dirección de correo electrónico:

Get-ADUser -Filter * -Properties EmailAddress | where -Property EmailAddress -eq $null

El siguiente ejemplo permite exportar la libreta de direcciones de correo electrónico de la empresa desde el AD a un archivo CSV, que luego se puede importar a clientes de correo electrónico como Outlook o Mozilla Thunderbird:

Get-ADUser -Filter {(mail -ne "null") -and (Enabled -eq "true")} -Properties Surname,GivenName,mail | Select-Object Name,Surname,GivenName,mail | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $env:tempadress_list.csv

Get-ADUser: exportar usuarios de AD a CSV / TXT

La lista resultante de usuarios de dominio con atributos se puede exportar a un archivo de texto:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires > C:tempusers.txt

O puede exportar la lista de usuarios de AD a un archivo CSV (que luego se importará convenientemente a Excel):

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | where {$_.name –like "*Dmitry*"} | sort-object PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Export-csv -path c:tmpuser-passwords-expires.csv -Append -Encoding UTF8

Uso de Get-ADUser con elementos de filtro

Utilizando la -Filtrar parámetro, puede filtrar la lista de cuentas de usuario por uno o más atributos. Como argumentos de este parámetro, puede especificar el valor de ciertos atributos de los usuarios de Active Directory. Si usa el parámetro –Filter, el cmdlet Get-ADUser solo enumerará los usuarios que coincidan con los criterios del filtro.

Por ejemplo, quiero enumerar las cuentas de usuario activas (habilitadas) cuyo nombre contenga "Dmitry”(En el ejemplo siguiente, se utilizan varios filtros; puede combinar condiciones utilizando los operadores de comparación lógicos estándar de PowerShell):

Get-AdUser -Filter "(Name -like '*Dmitry*') -and (Enabled -eq 'True')" -Properties * |select name,enabled

Get-AdUser con filtro

Además, puede ordenar la lista de usuarios resultante por un atributo de usuario específico (columna) con el Ordenar-Objeto cmdlet. También puede utilizar el Objeto donde cmdlet para especificar varios criterios de filtrado a la vez.

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires -SearchBase 'OU=NY,DC=woshub,DC=com'| where {$_.name –like "*Dmitry*" -and $_.Enabled -eq $true} | sort-object PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Get-ADUser: filtrado con Where-Object y Sort-Object

De modo que puede crear una tabla con los atributos necesarios de los usuarios de Active Directory.

Ejemplos de uso de Get-ADUser

Vamos a mostrar algunos ejemplos de comandos más útiles para consultar a los usuarios de Active Directory con varios filtros. Puede combinarlos para obtener la lista necesaria de objetos de usuario de AD:

Mostrar usuarios de AD, cuyo nombre comienza con Joe:

Get-ADUser -filter {name -like "Joe*"}

Puede usar PowerShell para calcular el número total de cuentas de usuario en Active Directory:

Get-ADUser -Filter {SamAccountName -like "*"} | Measure-Object

Encuentre cuentas de usuario de Active Directory deshabilitadas:

Get-ADUser -Filter {Enabled -eq "False"} | Select-Object SamAccountName,Name,Surname,GivenName | Format-Table

Puede verificar la fecha de creación de la cuenta de usuario de Active Directory con el comando:

get-aduser -Filter * -Properties Name, WhenCreated | Select name, whenCreated

Puede obtener la lista de usuarios de Active Directory recién agregados creados en las últimas 24 horas:

$lastday = ((Get-Date).AddDays(-1))
Get-ADUser -filter {(whencreated -ge $lastday)}

Enumere las cuentas con una contraseña caducada (puede configurar las opciones de caducidad de la contraseña en la política de contraseña del dominio):

Get-ADUser -filter {Enabled -eq $True} -properties name,passwordExpired| where {$_.PasswordExpired}|select name,passwordexpired

Tarea: para la lista de cuentas que están almacenadas en un archivo de texto (una cuenta por línea), debe obtener el nombre de la empresa del usuario de AD y guardarlo en un archivo CSV (puede importar fácilmente este archivo a Excel).

Import-Csv c:psusers_list.csv | ForEach {
Get-ADUser -identity $_.user -Properties Name, Company |
Select Name, Company |
Export-CSV c:psusers_ad_list.csv -Append -Encoding UTF8
}

Los usuarios que no han cambiado sus contraseñas en los últimos 90 días:

$90_Days = (Get-Date).adddays(-90)
Get-ADUser -filter {(passwordlastset -le $90_days)}

Para obtener la foto de un usuario de Active Directory y guardarla en un archivo jpg, ejecute los siguientes comandos:

$usr = Get-ADUser sjoe -Properties thumbnailPhoto
$usr.thumbnailPhoto | Set-Content sjoe.jpg -Encoding byte

Para obtener una lista de los grupos de AD de los que la cuenta de usuario es miembro:

Get-AdUser sjoe -Properties memberof | Select memberof -expandproperty memberof

Enumere los usuarios de la OU que son miembros de un grupo de seguridad de dominio específico:

Get-ADUser -SearchBase 'OU=Rome,OU=Italy,DC=woshub,DC=com' -Filter * -properties memberof | Where-Object {($_.memberof -like "*CEO*")}

Enumere las computadoras de dominio en las que el usuario puede iniciar sesión (restricción de inicio de sesión mediante el atributo AD LogonWorkstations).

Get-ADUser jbrown -Properties LogonWorkstations | Format-List Name, LogonWorkstations

Para obtener una computadora o realizar una búsqueda de varias computadoras desde Active Directory, puede usar otro cmdlet: Get-ADComputer.

Recomendado para ti

Bestseller No. 1
Wscoficey 35 Teclas de Teclado una Mano, Teclado de Juego retroiluminado RGB, Mini portátil Juego Controlador con reposamuñecas, diseño ergonómico Compatible con PC/Mac / PS4 / Xbox (Negro)
  • Este teclado profesional de 35 teclas con una sola mano con control avanzado programable te hace sentir más cómodo y crea tu propio teclado especial
  • Mini portátil de 35 teclas, diseño mini que ofrece una experiencia de funcionamiento con una sola mano extremadamente simple
  • Adecuado para tus manos y muñeca, simplifica el complejo procedimiento operativo, vence al rival más rápido en los juegos
  • Teclado compatible con MAC, Win 2000, Win XP, Win ME, Vista, Win7, Win8, Android, Linux y más
  • Brillante: retroiluminación LED, más fresco por la noche
RebajasBestseller No. 2
Pack Gaming Wolf | PC Gaming (AMD Ryzen 5 5500 / 16GB / 500GB SSD M.2 + 1TB / RTX3060 / 27" Curvo + Kit Gaming / WIFI) Windows 11 Pro, Monitor Curvo 27", Teclado, Cascos, Ratón y Alfombrilla XXL
  • Bajo la tapa de esta llamativa caja RGB está el procesador AMD Ryzen 5 5500 tiene una frecuencia de reloj de alto rendimiento de 3,6 GHz y en combinación con la NVIDIA RTX 3060 con 12 GB de VRAM, DLSS y trazado de rayos, ofrece una experiencia gráfica de ensueño que hará que tu corazón se acelere.
  • Gracias a los 16 GB de RAM a 3200 MHz y a la unidad SSD M.2 de 500GB, disfrutarás de los tiempos de carga más cortos y estarás siempre un paso por delante de tus rivales. Para una máxima comodidad, hemos preinstalado Windows 10 Pro en tu PCVIP y también hemos instalado una tarjeta WiFi. Sólo tienes que enchufar el PC, encenderlo y la diversión puede empezar de inmediato.
  • Vas a convertirte en el mejor jugador en un tiempo récord gracias a la mejor configuración de ordenador gaming. No hay límites con nuestro innovador PC Gaming. Mejora tu experiencia de juego con el impresionante rendimiento del hardware de los PC Gaming de Ibericavip
  • Rendimiento de primera clase gracias a la NVIDIA RTX 3060 con 12 GB de VRAM y ray tracing. Además, incluimos un monitor LED Full HD de 27 pulgadas, un teclado gaming RGB y un ratón gaming RGB con la mejor alfombrilla XXL
  • Pantalla: Monitor Gaming Curvo 27" 165 Hz Full HD G-Sync Free Sync Compatible
Bestseller No. 3
Logitech G910 Orion Spectrum Teclado Gaming Mecánico Retroiluminado, RGB LIGHTSYNC, Romer-G Táctil,9 Teclas G, Segunda Pantalla Arx, Disposición QWERTZ Escandinavo, Negro
  • Romer-G Táctil: Los interruptores mecánicos Romer-G exclusivos convierten a Orion Spectrum en el teclado rápido de nuestra historia, una actuación de 1,5 mm permite la entrada de datos en Orion
  • Velocidad y Rendimiento: El teclado con cable USB Logtiech Orion Spectrum ofrece una gran velocidad, con un 40 por ciento de durabilidad para un rendimiento optimo usado con un ratón Logitech
  • RGB LIGHTSYNC: La iluminación RGB de Orion Spectrum se puede personalizar con una paleta de 16 millones de colores, la parte superior de cada tecla está iluminada para un resplandor uniforme
  • Segunda Pentalla Arx: Mediante la base ajustable se pueden conectar Smartphones y tablets a Orion Spectrum, con Arx Control, los dispositivos móviles pueden mostrar información del juego en curso
  • Teclas G Programables: El teclado Orion Spectrum dispone de 9 teclas G totalmente personalizables, a las que se pueden asignar comandos por perfil, colocadas para optimizar el acceso