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-ID: 22885439889

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

Ausgedruckt am: 21.11.2024 um 19:11 Uhr

13676056485
Lösung 13676056485 12.07.2024 aktualisiert um 14:32:59 Uhr
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
MeowJayJay
MeowJayJay 12.07.2024 um 14:39:04 Uhr
Goto Top
Nicht gesehen :D

Danke dir! Schönes WE