m8ichael
Goto Top

Powershell: Gruppenmitgliedschaften der User eines AD auflisten

Hallo zusammen,

ich stehe gerade etwas auf dem Schlauch: Ich möchte per PowerShell ausgehend von den einzelnen Domänen-Benutzern die Gruppenmitgliedschaften (Sicherheitsgruppen) anzeigen lassen und verwende dieses kurze Script:

Get-AdUser -Filter * -Properties PrimaryGroup, MemberOf |
Select-Object @{n="Name";e={$_.SamAccountName}}, `  
@{n="Primäre Gruppe"; e={ ($_ | Select-Object -ExpandProperty PrimaryGroup)}},`  
@{n="Gruppen";e = {($_|Select-Object -ExpandProperty MemberOf)}}  

Hierbei werden die primären Gruppen angezeigt, bei den "Standardusern" auch die sonstigen Gruppen, bei allen übrigen Nutzern jedoch nicht. Wo ist der Denkfehler?

Viele Grüße

Michael

Content-Key: 618389

Url: https://administrator.de/contentid/618389

Printed on: April 28, 2024 at 10:04 o'clock

Member: Daemmerung
Daemmerung Nov 01, 2020 at 11:42:45 (UTC)
Goto Top
Moin,

was sind denn die Standardnutzer und übrigen Nutzer?

Grüße
Daemmerung
Member: m8ichael
m8ichael Nov 01, 2020 at 11:48:09 (UTC)
Goto Top
Moin,

"Standardnutzer" meint Benutzer im AD-Default-Container "Users". Die übrigen Benutzer sind in ihren jeweiligen OUs.

Gruß

Michael
Member: primary
primary Nov 01, 2020 at 20:28:50 (UTC)
Goto Top
Probiere folgendes Skript aus.
Du musst nur die SearchBaseändern.

Get-ADUser -LDAPFilter "(name=*)" -SearchScope Subtree `  
 -SearchBase 'OU=Users,DC=consorto,DC=com' | %{  
 $user = $_
 $user | Get-ADPrincipalGroupMembership | 
 Select @{N="User";E={$user.sAMAccountName}},@{N="Group";E={$_.Name}}  
}| Select User,Group | Export-Csv c:\report.csv -nti
Member: emeriks
emeriks Nov 02, 2020 at 10:26:23 (UTC)
Goto Top
Hi,
am Rande bemerkt:
Der Weg über den Benutzer taugt maximal für Ein-Domänen-Umgebungen. Sobald man mehrere Domänen und auch domänenübergreifende Mitgliedschaften hat, dann liefert der Weg über "memberOf" nicht alle Mitgliedschaften.
Besser ist es, jeweils die Mitglieder aller Gruppen abzufragen und die Ergebnisse dann pro Benutzer zusammenzubauen.

E.
Member: m8ichael
m8ichael Nov 02, 2020 at 17:20:32 (UTC)
Goto Top
Zitat von @primary:

Probiere folgendes Skript aus.
Du musst nur die SearchBaseändern.

Get-ADUser -LDAPFilter "(name=*)" -SearchScope Subtree `  
>  -SearchBase 'OU=Users,DC=consorto,DC=com' | %{  
>  $user = $_
>  $user | Get-ADPrincipalGroupMembership | 
>  Select @{N="User";E={$user.sAMAccountName}},@{N="Group";E={$_.Name}}  
> }| Select User,Group | Export-Csv c:\report.csv -nti

Das geht leider auch nicht. Auch hier erhalte ich nur die primäre Gruppe angezeigt, allerdings keine sonstigen Gruppen...
Member: m8ichael
m8ichael Nov 02, 2020 at 17:21:39 (UTC)
Goto Top
Zitat von @emeriks:
am Rande bemerkt:
Der Weg über den Benutzer taugt maximal für Ein-Domänen-Umgebungen. Sobald man mehrere Domänen und auch domänenübergreifende Mitgliedschaften hat, dann liefert der Weg über "memberOf" nicht alle Mitgliedschaften.
Besser ist es, jeweils die Mitglieder aller Gruppen abzufragen und die Ergebnisse dann pro Benutzer zusammenzubauen.

Das wäre für mich ok, da es hier erst einmal nur um eine Domäne geht. Leider werden jedoch die Nicht-Primäeren-Gruppen nicht ausgewertet...
Member: Daemmerung
Daemmerung Nov 02, 2020 at 18:10:37 (UTC)
Goto Top
Ist die Unterscheidung, ob es eine primäre oder nicht primäre Gruppe ist, wichtig? Also für deine Zwecke, nicht generell.

Bekommst du eine Fehlermeldung oder sind die Attribute einfach leer? Wenn ich Zeit habe, schaue ich mir das morgen mal an und baue dir etwas...
Member: m8ichael
m8ichael Nov 02, 2020 updated at 18:23:29 (UTC)
Goto Top
Hi!

Zitat von @Daemmerung:

Ist die Unterscheidung, ob es eine primäre oder nicht primäre Gruppe ist, wichtig? Also für deine Zwecke, nicht generell.

Richtig, die primäre Gruppe ist absolut sekundär, da ohnehin fast überall identisch. Interessanter sind dann eher die weiteren Gruppen, zu denen der jeweilige Nutzer zugeordnet ist.

Bekommst du eine Fehlermeldung oder sind die Attribute einfach leer?

Tatsächlich einfach leer. Mein ursprüngliches Beispiel generiert drei Spalten (also Name, primäre Gruppe und sonstige Gruppen), wobei die Spalte mit den sonstigen Gruppen fast überall leer ist, obwohl die jeweiligen User definitiv verschiedenen Sicherheitsgruppen angehören. In deinem Beispiel werden nur die Nutzernamen sowie die primären Gruppen ausgegeben; das war's...

Wenn ich Zeit habe, schaue ich mir das morgen mal an und baue dir etwas...

Das wäre super... face-smile))

Viele Grüße

Michael
Member: emeriks
emeriks Nov 03, 2020 updated at 07:32:30 (UTC)
Goto Top
Komisch. Bei mir funktioniert Dein Code aus Deiner Eingangsfrage 1:1. Auch für Konten, welche nicht im Container "Users" gespeichert sind.

2020-11-03 08_29_50-window
Member: m8ichael
m8ichael Nov 03, 2020 updated at 17:02:35 (UTC)
Goto Top
Zitat von @emeriks:

Komisch. Bei mir funktioniert Dein Code aus Deiner Eingangsfrage 1:1. Auch für Konten, welche nicht im Container "Users" gespeichert sind.

Hmm, dann muss das an unserer AD-Struktur liegen. Bei uns sind die jeweiligen Sicherheitsgruppen in eigenständigen OUs eingetragen, bspw.
CN=Anmeldeberechtigung1,OU=Cloud,OU=Sicherheitsgruppen,DC=firma,DC=tld

Liegt hier das Problem?

Viele Grüße

Michael
Member: emeriks
emeriks Nov 04, 2020 at 07:16:46 (UTC)
Goto Top
Zitat von @m8ichael:
Hmm, dann muss das an unserer AD-Struktur liegen. Bei uns sind die jeweiligen Sicherheitsgruppen in eigenständigen OUs eingetragen, bspw.
CN=Anmeldeberechtigung1,OU=Cloud,OU=Sicherheitsgruppen,DC=firma,DC=tld
Das ist bei uns nicht anders.