josephusflavius
Goto Top

Powershell - während "foreach" - in CSV exportieren

Hallo,

ich versuche - in einem Foreach-Loop - die MItglieder bestimmter AD-Gruppen in eine CSV-Datei zu schreiben.

$outfile = "export.csv"  
$Group = Get-ADGroup -Filter 'Name -like "r_*XYZ*"'| select name   
foreach ($User in $Group){ 
$User | Export-CSV $outfile -Append
$Members = Get-ADGroupMember "$User" -Recursive | select name  
$Members | Export-CSV $outfile -Append
}

Das Problem ist, dass das Ergebnis mit einem Format "@{name=gruppenname}" an get-adgroupmember übergeben wird, dass es damit nichts anfangen kann.

 
Get-ADGroupMember : Unter "DC=firma,DC=name,DC=de" kann kein Objekt mit der ID   
"@{name=gruppenname}" gefunden werden.  
In Zeile:7 Zeichen:12
+ $Members = Get-ADGroupMember "$User" -Recursive | select name  
+            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (@{name=gruppenname}:ADGroup) [Get-ADGroupMember] 
   , ADIdentityNotFoundException
    + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundEx 
   ception,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember

Wie kann ich das Ergebnis der "get-adgroup" sauber an "get-adgroupmember" überreichen, damit dort die Mitglieder ins CSV geschrieben werden können.

Vielen Dank für eure Hilfe.

JoFla

Content-Key: 4538125894

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

Printed on: April 27, 2024 at 23:04 o'clock

Member: C.R.S.
C.R.S. Nov 07, 2022 at 19:09:16 (UTC)
Goto Top
Zitat von @JosephusFlavius:

foreach ($User in $Group)

Hallo,

das ist irreführend, denn du loopst Gruppen, nicht User:

foreach ($group in $groups){
    $members = Get-ADGroupMember $group.name -Recursive
}

Grüße
Richard
Member: JosephusFlavius
JosephusFlavius Nov 07, 2022 updated at 21:13:44 (UTC)
Goto Top
Hi, hast du so gemeint?

$outfile = "export.csv"  
$groups = Get-ADGroup -Filter 'Name -like "r_*XYZ*"' | select name  
foreach ($group in $groups){ 
$group | Export-CSV $outfile -Append
$members = Get-ADGroupMember $group.name -Recursive
$members | Export-CSV $outfile -Append
}

So hat es schon mal erheblich besser funktioniert ... face-smile