meowjayjay
Goto Top

Exchange Management Shell Script - Verteiler Besitzer und Mitglieder auslesen

Moin liebe Gemeinde,

ich brauche wieder ein Script und nochmal Hilfe..

Das Script soll alle Verteiler auslesen und mir Besizter und Mitglieder ausgeben und in eine CSV schreiben.

Anbei das Script:

$result = @()

# Alle Verteilergruppen abrufen
$distributionGroups = Get-DistributionGroup -ResultSize Unlimited

foreach ($group in $distributionGroups) {
    # Besitzer abrufen
    $owners = Get-DistributionGroup -Identity $group.Identity | Select-Object -ExpandProperty ManagedBy -Join ", "  
    
    # Mitglieder abrufen
    $members = Get-DistributionGroupMember -Identity $group.Identity | Select-Object -ExpandProperty PrimarySmtpAddress -Join ", "  
    
    # Ergebnis zusammenstellen
    $result += [pscustomobject]@{
        GroupName = $group.DisplayName
        Owners    = $owners
        Members   = $members
    }
}

# Ergebnis in CSV exportieren
$result | Export-Csv -Path "C:\tmp\Exchange_csvs\DistributionGroups.csv" -NoTypeInformation -Encoding UTF8  


Folgende Meldung kommt aber:

Select-Object : Es wurde kein Parameter gefunden, der dem Parameternamen "Join" entspricht.  
In Zeile:11 Zeichen:121
+ ... dentity | Select-Object -ExpandProperty PrimarySmtpAddress -Join ", "  
+                                                                ~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Select-Object], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.SelectObjectCommand


In der CSV steht dann zwar der Verteiler Name, aber nüscht mehr.

Danke und viele Grüße
Meow

Content-Key: 22885439889

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

Printed on: July 27, 2024 at 11:07 o'clock

Mitglied: 13676056485
Solution 13676056485 Jul 12, 2024 updated at 12:32:59 (UTC)
Goto Top
Es wurde kein Parameter gefunden, der dem Parameternamen "Join" entspricht.
Entweder Klammern um den Ausdruck setzen den du joinen willst ...
# ....
$owners = $group.ManagedBy -Join ", "    
$members = (Get-DistributionGroupMember -Identity $group.Identity | Select-Object -ExpandProperty PrimarySmtpAddress) -Join ", "        
# ....
Oder so schreiben
# ....
$owners = $group.ManagedBy -Join ", "    
$members = (Get-DistributionGroupMember -Identity $group.Identity).PrimarySmtpAddress -Join ", "        
# ....
Gruß wrk
Member: MeowJayJay
MeowJayJay Jul 12, 2024 at 12:39:04 (UTC)
Goto Top
Nicht gesehen :D

Danke dir! Schönes WE