Benutzer mit den meisten Antworten
Mitglieder aller Verteilergruppen

Frage
-
Hi liebe Community,
folgendes Problem:
ich soll aus allen unseren Verteilern die Mitglieder "rausziehen"...so weit so gut...aber dieses Output möchte ich als csv datei haben...
folgendes Script:
$OU=”OU-Name”
foreach($group in Get-DistributionGroup -OrganizationalUnit $Ou){
Get-DistributionGroupMember $group | select @{n=”DistributionGroup”;e={$group.name}},@{n=”MemberName”;e={$_.name}},alias,primarysmtpaddress | export-csv -path "verteiler.csv"
} aber dann bleibt der csv file leider leer...sobald ich die pipe export-csv wegnehme, bekomme ich den output, aber leider nur am screen...hat vielleicht irgendjemand eine idee?...gruss richard
Antworten
Alle Antworten
-
Hallo jurkovri,
ich denke das liegt daran, dass Du in der Schleife immer wieder in dieselbe Datei exportierst und diese damit ueberschreibst. Du koenntest das z.B. so machen:
$file="c:\temp\groups.csv"
get-distributiongroup | foreach {
$group = $_.displayname
Get-DistributionGroupMember $group | foreach {
$alias = $_.alias
$psmtp= $_.primarysmtpaddress
$line = $group+";"+$alias+";"+$psmtp
Add-Content $file $line
}
}Damit gewinnst Du zwar sicherlich kein Code-Wettbewerb (ich auch nicht :-)), aber es sollte das tun was Du moechtest.
VG, Timo
-
Hallo jurkovri,
speichere doch mal diese Zeilen als Script ab:
Get-DistributionGroupMember | select @{n=”DistributionGroup”;e={$group.name}},@{n=”MemberName”;e={$_.name}},alias,primarysmtpaddress
und rufe diese mit Parameter auf, also z.B.:
ZeigeVerteiler.ps1 | | Export-Csv -Path "C:\Temp\Verteilerlisten.csv" -notypeinformation
Good Luck
Klaus
-
Hi 2 all,
@ Christian
yep, ausgabe funktioniert aber wenn ich die Pipe hinter die letzte klammer setze =
Ein leeres Pipeelement ist nicht zulässig.
Bei C:\Users\juri\AppData\Local\Temp\101039e1-a859-49d6-8f8a-9403329c18db.ps1:5 Zeichen:4
+ } | <<<< export-csv -path "c:\temp\verteiler.csv"
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : EmptyPipeElement
@ Timo
yep, funktioniert, aber die Ausgabe ist nicht leider nicht besonders...:(
@ KSV43
funktioniert, aber die Identity bei 1923 Verteilern eingeben...;)
-
Hi again,
was ich noch gefunden habe:
function get-dl {
$Final = @()
$i = 1
$dls = Get-DistributionGroup
foreach ($dl in $dls)
{
$i++
$AllUsers = @()
$AllUsersEmail = @()
$AllUsers += Get-DistributionGroupMember -Identity $dl | select recipientType,displayName,PrimarySMTPAddress
foreach ($user in $Allusers)
{
$obj = new-object psobject
$obj |Add-Member -MemberType noteproperty -Name "DL Gruppentyp" -value $dl.GroupType
$obj |Add-Member -MemberType noteproperty -Name "DL Name" -value $dl.displayName
$obj |Add-Member -MemberType noteproperty -Name "DL Adresse" -value $dl.PrimarySMTPAddress
$obj |Add-Member -MemberType noteproperty -Name "Empfaenger Typ" -value $user.recipientType
$obj |Add-Member -MemberType noteproperty -Name "Empfaenger Name" -value $user.displayName
$obj |Add-Member -MemberType noteproperty -Name "Empfaenger Adresse" -value $user.PrimarySMTPAddress
$AllUsersEmail += $obj
}
$Final += $AllUsersEmail
}
$Final | export-csv c:\verteiler\dl.csv -NoTypeInformation -encoding default
Write-Host $i " Verteiler gefunden"
}
Nur leider rennt das Script ohne Fehler durch, aber ich bekomme keine Ausgabe...weiss vielleicht jemand, wo da der fehler ist?gruss