Cerrar
InicioWindows ServerPildorita PowerShell: Listar usuarios de un grupo de AD

Pildorita PowerShell: Listar usuarios de un grupo de AD

Os muestro un cmdlet de PowerShell (Módulo de Active Directory para PowerShell) para listar los usuarios de un grupo de Active Directory, además nos permite listar los usuarios que son miembros de dicho grupo pero mediante anidaciones.

Listado de usuarios de grupos miembros del grupo sobre el cual solicitamos la consulta GRP ASIRLAB

Sintaxis: Get-ADGroupMember “Nombre_Grupo” -recursive | Select-Object name

Get-ADGroupMember “GRP ASIRLAB” -recursive | Select-Object name

PowerShell_AD_User_List-1.png
Con el mismo cmdlet nos muestra los usuarios de un grupo del cual son miembros “directos”

Get-ADGroupMember “GRP MARKETING” -recursive | Select-Object name

PowerShell_AD_User_List-2.png

Ahora si queremos exportar el listado a un txt y luego importarlo a una EXCEL únicamente debemos redireccionar la salida del comando a un fichero de texto

Get-ADGroupMember “GRP MARKETING” -recursive | Select-Object name >[ruta fichero]

PowerShell_AD_User_List-3.png

Sintaxis completa del cmdlet

PowerShell_AD_User_List-4.png

Espero que os sea de utilidad!!!

Microsoft Outlook Co
Skype lanza nueva pl

sbuytrago@asirsl.com

23 COMENTARIOS
  • Jose / 18 septiembre, 2020

    Muy buenas, como puedo listar con powershell los grupos y nombre de usuarios que tienen derechos a administrar dicho grupo, todo lo que esta en el tab de Security

  • Carlos / 7 octubre, 2020

    Excelente aporte me sirvió de mucho. Necesitaba mas información aparte del name pero con poner * al final salió excelente.
    Get-ADGroupMember “GRP ASIRLAB” -recursive | Select-Object *

  • Aníbal / 6 noviembre, 2020

    Estimados, muchas gracias por la información, una consulta:

    existe alguna forma de ejecutar un comando que permita listar los usuarios que cumplan 2 condiciones al mismo tiempo?

    por ejemplo necesito listar en powershell “todos los usuarios que pertenezcan al grupo **nombre_grupo_active_directory** y que además pertenezcan al país de **CODIGO_PAIS**”

    El CODIGO_PAIS lo tenemos almacenado bajo el atributo “co” de cada cuenta usuario

    Saludos y muchas gracias!

    • Santiago Buitrago Reis / 7 noviembre, 2020

      Hola Anibal:

      Aquí te dejo un ejemplo que tu debes adaptar a tu consulta:

      $OU = “OU=Ou-Users,DC=dominio,DC=com”
      Get-ADUser -SearchBase $OU -Filter {Co -eq -and Enabled -eq $true} -Properties * | fl DisplayName,CO

      Espero que te ayude.

  • Paolo Morales / 25 enero, 2022

    Hola Santiago,
    Agradezco la información.
    Necesitó ayuda con poder listar y/o exportar los usuarios de todos los grupos existentes de una OU.
    Saludos y agradecido de antemano.

    • Santiago Buitrago Reis / 25 enero, 2022

      Hola:

      Listar todos los usuarios de un grupo y de sus grupos anidados:

      Get-ADGroupMember -Identity “NombreGrupo” -Recursive |fl SamAccountName (aqui pones los nombres de los atributos que quieras exportar)

      Para exportar los registros a un CSV puedes hacerlo así:

      Get-ADGroupMember -Identity “NombreGrupo” -Recursive | Select-Object SamAccountName | Export-Csv -Path C:\Temp\usuarios.csv -NoClobber -Encoding UTF8

      Si quieres algo más en concreto, defínelo y te paso la consulta más exacta. Porque entiendo que, tu querrás que busque todos los grupos de una OU y te diga los miembros de cada grupo, pero es una respuesta más extensa.

      Un saludo

      • carlos / 8 marzo, 2022

        buenas, como podria ademas sacar el email de los usuarios que esta exportando?

        gracias

        • Santiago Buitrago Reis / 13 marzo, 2022

          Hola:

          Aquí tienes:

          $miembros = Get-ADGroupMember “Nombre-Grupo” -recursive | Select-Object SamAccountName
          foreach ($user in $miembros) {Get-Aduser -identity $user.SamAccountName -properties * | ft UserPrincipalName,Mail}

          Si quieres más atributos, se lo especificas en la salida del Get-AdUser.

          Un saludo

  • Victor / 13 abril, 2022

    Buenas, gran aporte

    ¿pero como se podrian sacar los usuarios bloqueados de una unidad organizativa?

    Un saludo.

    • Santiago Buitrago Reis / 9 mayo, 2022

      Aquí tienes: Search-ADAccount -LockedOut -SearchBase “OU” | Select-Object SamAccountName | ft -HideTableHeaders

  • jessika / 12 julio, 2022

    Hola como estas? Te consulto si me puedes ayudar a sacar un listado de usuarios habilitados y que no se hayan logueado en 90 días, solo usuarios habilitados, excluyendo usuarios web. Gracias

    • Santiago Buitrago Reis / 13 julio, 2022

      Hola Jessika:

      Aquí te muestro un ejemplo de usuarios que su último login es anterior a 90 días, dentro de una OU, usuarios habilitados (tu puedes cambiar el filtro de Enabled por lo que comentas de usuario no web):

      $FechaLimiteUsuarios = (Get-Date).AddDays(-90)
      $OU = “OU=OU,DC=domain,DC=local”
      Get-ADUser -SearchBase $OU -Filter {LastLogonDate -lt $FechaLimiteUsuarios -and Enabled -eq $true} -Properties * | Select-Objet displayname,created,lastlogondate,passwordlastset, xxxxx

      Espero que te sirva como referencia.

  • Yudith / 26 julio, 2022

    Hola buenas noches,
    Existe algún script que me permita listar a los usuarios con permisos a un terminal?

    • Santiago Buitrago Reis / 7 septiembre, 2022

      Hola Yudtih:

      ¿Qué tipo de permisos?

      Un saludo

  • Huen / 16 noviembre, 2022

    Hola Santiago buen día, como podría exportar la lista de usuarios de todos los grupos existentes en el AD. Gracias de antemano

    • Santiago Buitrago Reis / 27 noviembre, 2022

      Hola Huen:

      Aquí te dejo algunos comandos que te pueden ayudar:

      Todos los usuarios de los grupos locales de dominio:
      Get-ADGroup -Filter “GroupScope -eq ‘DomainLocal'” | Get-ADGroupMember | Select-Object nombre_campos_separados_comas | export-csv -file C:\temp\usuarios.csv -Encoding UTF8
      Todos los usuarios de los grupos globales de dominio:
      Get-ADGroup -Filter “GroupScope -eq ‘Global'” | Get-ADGroupMember | Select-Object nombre_campos_separados_comas | export-csv -file C:\temp\usuarios.csv -Encoding UTF8
      Todos los usuarios de un grupo y los anidados:
      Get-ADGroupMember -Identity “Nombre-Grupo” -Recursive | Select-Object nombre_campos_separados_comas | export-csv -file C:\temp\usuarios.csv -Encoding UTF8

      Se pueden exportar de muchas maneras, si buscas algo en concreto, dímelo.

      Un saludo

  • Pedro / 21 noviembre, 2022

    Hola Santiago, necesito ayuda, cuando exporto los grupos de AD me codifica los miembros de algunos grupos con base64. Esto no ocurre con todos los grupos solo con algunos.

    Tenéis alguna idea de a que puede deberse? o como puedo solucionar este problema?

    He probado todos los parámetros que tiene ldif sin éxito.

  • Pedro / 21 noviembre, 2022

    Hola Santiago, necesito ayuda, cuando exporto los miembros de los grupos de AD me codifica los miembros de algunos grupos con base64. Esto no ocurre con todos los grupos de AD, solo con algunos, y cuando ocurre en vez de aparecer los datos del usuario miembro aparece un código Alpha numérico

    Tenéis alguna idea de a que puede deberse? o como puedo solucionar este problema?

    He probado todos los parámetros que tiene ldif sin éxito.

    • Santiago Buitrago Reis / 27 noviembre, 2022

      Hola Pedro:

      ¿Puedes mostrarme el script que utilizas? Si lo haces con powershell es muy sencillo:

      Get-ADGroupMember -Identity “Nombre-Grupo” -Recursive | Select-Object nombre_campos_separados_comas | export-csv -file C:\temp\usuarios.csv -Encoding UTF8

      Un saludo

DEJA UN COMENTARIO

Este sitio web utiliza cookies. Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra política de cookies. ACEPTAR

Aviso de cookies
Share This