6 votos

¿Cómo puedo generar una lista de los grupos de seguridad a un conjunto de usuarios que pertenece?

Me han pedido para generar una lista de los grupos de seguridad (por lo que no están específicamente los grupos de distribución) que una lista de aproximadamente 50 usuarios pertenecen.

Tengo una lista de usuarios, users.txt que contiene cada nombre de usuario en una nueva línea. Quiero generar un membership.txt que contiene el nombre de usuario y una lista de los grupos de seguridad que el usuario es un miembro de, separados por comas.

El script de Powershell que he escrito hasta ahora es la siguiente:

$users = Get-Content C:\users.txt

ForEach ($User in $users) {
  $getmembership = Get-ADUser $User -Properties MemberOf | Select -ExpandProperty memberof
  $User + ',' + $getmembership | Out-File -Append c:\membership.txt
}

Esta casi funciona, pero por dos problemas:

  1. Es la generación de una lista de todos los grupos, no sólo a los grupos de seguridad. ¿Cómo puedo saber que sólo se incluyen los grupos de seguridad y no de los grupos de distribución?
  2. Los grupos se anexa en el formato OU=Security Groups,OU=City,DC=domain,DC=com CN=Senior Leaders, pero la única información que yo realmente quiero es Senior Leaders. ¿Cómo puedo cortar toda la información adicional?

7voto

Oliver Rahner Puntos 150

Ampliar su Get-ADUser línea de:

$getmembership = Get-ADUser $User -Properties MemberOf | Select -ExpandProperty memberof | Get-ADGroup -Properties name | Where { $_.GroupCategory -eq 'Security' } | Select -ExpandProperty Name

Este va a alimentar el DN del Grupo a Get-ADGroup para recuperar propiedades adicionales, para luego filtrar en la categoría de grupo y seleccione el nombre del grupo (en lugar de la Nombrecompleto).

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: