¿Cómo exportar una lista detallada de la pestaña "Miembro de" de los usuarios de Active Directory?

8

Actualmente estoy en el proceso de reestructurar la lista de usuarios de Active Directory de la compañía para la que estoy trabajando, y la persona que lo hizo hizo un trabajo horrible y, por supuesto, ya no trabaja aquí.

Mi pregunta es la siguiente: quiero tener una hoja de cálculo de Excel (idealmente) que contenga toda la información contenida en la pestaña "Miembro de" de un gráfico de usuario.

He intentado crear una consulta, pero el resultado solo me da una lista de usuarios que son "miembros de" algo, no el contenido real de la pestaña "miembro de".

¿Hay alguna manera de hacer esto, ya sea a través del símbolo del sistema o directamente desde Active Directory?

Advertencia justa: no sé nada sobre VBS y Powershell.


fuente

Respuestas:

7

Si desea obtener las membresías de grupo de un usuario, ejecute este comando de PowerShell :

Get-ADPrincipalGroupMembership $Username | Select Name | out-file "filepath" donde desea guardar el documento, incluido el nombre que desea "

¿Dónde $Usernameestá el nombre del usuario que está consultando?

Josh
fuente
OMI, esta es la herramienta correcta para el trabajo.
blaughw
3

Tengo esto, necesitará aprender un poco de PowerShell para que se descargue en un CSV, en este momento solo se descarga en un archivo de texto.

$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
    $file = $user.Name + '_ACL'        
    (Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Out-File c:\PSResults\$file.txt
    }

Nunca me tomé el tiempo para hacerlo funcionar para la salida CSV ya que esto hizo lo que necesitaba.

- Si desea que se exporte a un csv, simplemente cambie la ruta del archivo externo a la ruta donde desea guardarlo, más el nombre del documento.csv, por ejemplo, archivo externo C: \ PSResults \ $ file.csv se exportaría a un archivo CSV llamado $ file

Mortenya
fuente
Acabo de ver que Josh R me ganó. El suyo también es más simple.
Mortenya
1
Sin embargo, el suyo funcionará en versiones inferiores de PowerShell.
Josh
Es cierto, he tenido que tener esto en cuenta cuando comparto scripts en mi grupo, ya que soy el único con experiencia en PowerShell y, como tal, el único que ha actualizado la versión 2.0
mortenya
Ahora que lo pienso, creo que Get-ADPrincipalGroupMembershipestá en 2.0. No estoy seguro de lo que estaba pensando.
Josh
Gracias a los dos por la respuesta. Probaré uno de Josh R mañana mientras estoy en el trabajo, ya que en realidad parece mucho más simple. A menos que esté malentendido, ¿tendré que generar esta consulta para todos y cada uno de los usuarios de mi dominio? ¿O si tuviera que usar el de Mortenya, generaría una lista completa la primera vez? ¡Solo quiero asegurarme de que entiendo correctamente! :)
1

Puede crear y definir una nueva consulta aplicada a la unidad organizativa que contenga a sus usuarios en "Usuarios y equipos de AD" ingresando esta cadena de consulta:

(&(&(&(&(objectCategory=user)(userAccountControl=512)))))

luego exporte los resultados a un csv usando la "Lista de exportación" en la parte superior de la ventana AD.

usuario320631
fuente
0

Para obtener el archivo en un CSV, simplemente reemplace "Out-File c: \ PSResults \ $ file.txt" en su código con "Export-CSV -path c: \ PSResults \ $ file.csv -NoTypeInformation"

Entonces se vería algo así:

$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
$file = $user.Name + '_ACL'        
(Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Export-CSV -path c:\PSResults\$file.csv -NoTypeInformation
}

Sin embargo, como otros ya han publicado, el siguiente es el mejor para usar, ya que es un revestimiento sencillo:

Get-ADPrincipalGroupMembership USERNAME | Select Name | Export-CSV -path C:\Temp\file.csv -NoTypeInformation
Henri Muldre
fuente
esto no funcionará en caso de que si hay gente grupo anidadas .. como un usuario es un miembro del grupo 20 no se mostrará
user420934