Si necesitas encontrar usuarios del Directorio Activo (AD) en tu dominio, el comando Get-AdUser de Powershell está aquí. Las cuentas de usuario se asignan a empleados, cuentas de servicio y otros recursos. Antes de que te des cuenta, las cuentas de usuario de AD se vuelven difíciles de gestionar.
Usando el cmdlet Get-AdUser
PowerShell, puedes obtener usuarios de AD de muchas maneras diferentes. En este artículo, aprenderás algunas de esas formas y cómo utilizar este útil cmdlet.
Gestiona e informa sobre el Directorio Activo, Exchange y Microsoft 365 con ManageEngine ADManager Plus. ¡Descarga la prueba gratuita!
Prerrequisitos
Para utilizar los ejemplos del cmdlet Get-AdUser
cubiertos en este artículo, asegúrate de tener lo siguiente:
- En una PC con Windows unida a un dominio AD
- Sesión iniciada como una cuenta de usuario de AD
- Tener instalado el módulo de PowerShell para el Directorio Activo
Encontrar una cuenta de usuario con Identity
El cmdlet Get-AdUser
tiene un único propósito. Existe para proporcionar tantas opciones como sea posible para encontrar usuarios de dominio. Si ya conoces el nombre de usuario que deseas buscar, puedes usar el parámetro Identity
.
El parámetro Identity
te permite proporcionar uno de cuatro identificadores diferentes.
- distinguishedName (DN)
- samAccountName
- GUID
- SID
A continuación, puedes ver algunos ejemplos de cómo encontrar una cuenta de usuario usando varios identificadores. Observa que devuelve un conjunto de atributos de AD para cada cuenta de usuario.
El atributo más común para usar con el parámetro
Identity
será el atributosamAccountName
.
El Filtro Get-ADUser
Si necesitas encontrar más de un usuario de dominio o no conoces un identificador, usa un filtro. Para hacerlo, tienes a tu disposición un par de parámetros llamados Filter
y LDAPFilter
.
Cada parámetro de filtro permite al usuario proporcionar una declaración condicional. Cuando se cumple esta condición, Get-AdUser
devolverá las cuentas de usuario que coincidan con esa condición.
El parámetro más común para filtrar usuarios es Filter
. El parámetro Filter
te permite crear condiciones que son similares a la sintaxis del filtro del comando Where-Object
de PowerShell.
El parámetro Filter
utiliza una sintaxis de lenguaje llamada lenguaje de expresión de PowerShell. Este lenguaje es un poco como lo que usarías con Where-Object
pero no exactamente igual. Para obtener un desglose de cómo usar este filtro, revisa este artículo de filtros de Active Directory y LDAP.
A continuación, se muestra un ejemplo de uso del parámetro Filter
. Este ejemplo proporciona un atributo AD (givenName
en este ejemplo) y establece una condición. El filtro solo permite que los usuarios se devuelvan si tienen un givenName
igual a Adam
.
La otra opción de filtrado es LDAPFilter
, que no se cubrirá en este artículo. Para obtener más información sobre el LDAPFilter
y su sintaxis, consulta este artículo sobre filtros de Active Directory y LDAP.
Usando Get-AdUser por OU
Al proporcionar una identidad o filtro, PowerShell devuelve todos los usuarios en el dominio que coinciden con los criterios. No limita por OU. Necesitarás configurar un “filtro” para Get-AdUser
para filtrar por OU usando Get-Aduser -SearchBase <OU>
.
Usar el parámetro SearchBase
te permite comenzar a buscar una cuenta de usuario en un OU específico. El parámetro SearchBase
acepta el nombre distinguido (DN) de un OU.
Por ejemplo, podrías encontrar todos los usuarios en el OU MyUsers como se muestra a continuación. Usar el Filter
de *
significa hacer coincidir todas las cuentas de usuario.
Quizás solo quieras encontrar cuentas de usuario en una única OU y excluir cualquier OU secundaria. En ese caso, podrías usar los parámetros SearchBase
y SearchScope
. El parámetro SearchScope
define qué tan profundo en la jerarquía de la OU te gustaría buscar.
Por ejemplo, si quieres encontrar todas las cuentas de usuario en una OU y todas las OUs secundarias, usarías 1
para el valor de SearchScope
. Si deseas buscar a través de todas las OUs secundarias y sus sub-OUs, usarías 2
.
A continuación, se muestra un ejemplo de búsqueda de cuentas de usuario en la OU MyUsers y todas las OUs secundarias debajo de ella.
Uso de credenciales alternativas
Por defecto, Get-AdUser
se ejecutará bajo el contexto del usuario que ha iniciado sesión. Pero también puedes proporcionar credenciales alternativas usando el parámetro Credential
.
Para autenticarte con credenciales alternativas, crea un objeto PSCredential usando Get-Credential
como se muestra a continuación:
Para obtener más información sobre credenciales, consulta Cómo utilizar el cmdlet Get-Credential de PowerShell y todo lo relacionado con las credenciales.
El parámetro PowerShell Get-AdUser Properties
Cuando ejecutas Get-AdUser
, verás que solo se devuelven unos pocos atributos. También verás que incluso cuando la salida se canaliza a Select-Object -Property *
, no se devuelven todos los atributos.
Para usar PowerShell para obtener atributos de usuario de AD, utiliza el parámetro Property
. Este parámetro acepta uno o más atributos delimitados por comas para mostrar en la salida.
A continuación verás un ejemplo de cómo usar Get-AdUser
para encontrar todas las propiedades de todas las cuentas de usuario con un givenName
de Adam
. La salida está recortada pero verás otros atributos familiares como la dirección de correo electrónico, propiedades de contraseña y más aquí.
Administra e informa sobre Active Directory, Exchange y Microsoft 365 con ManageEngine ADManager Plus. ¡Descarga la versión de prueba gratuita!
Resumen
El cmdlet Get-ADUser
es un comando útil para encontrar cuentas de usuario de AD, generar informes y más. Es una excelente manera de extraer usuarios de AD de un dominio. Para obtener un desglose de Get-AdUser
y todos los parámetros, lee el contenido de ayuda ejecutando Get-Help Get-AdUser
.
Para muchos otros ejemplos de cómo usar Get-AdUser
, consulta la publicación del blog ¡Gran cantidad de scripts de Active Directory: ¡Ven y obténlos!.