mboost-dp1

Powershell hjælp - Get-DistributionGroupMember email


Gå til bund
Gravatar #1 - Magten
23. apr. 2012 14:22
Jeg har fået en opgave hvor jeg skal lave et udtræk af en kundes distrigutionsgrupper på deres Exchange 2010 server, og har efterhånden også fået lavet scriptet til det, men der er én af grupperne der driller.

Først scriptet:

Get-DistributionGroup | Sort -Property DisplayName | foreach {
$grp = $_.DisplayName
Get-DistributionGroupMember $grp | Sort -Property DisplayName | Select DisplayName, Alias, Department | foreach {
$user = $_.displayname
$out = $user + "," + $_.Alias + "," + $_.Department + "," + $grp
$out
}
}

Kan også ses bedre her: http://pastebin.com/B30nb7Vc

Det virker også jeg får mit output:
navn,alias,afdeling,gruppe


Dog fejler den ved én gruppe:
Get-DistributionGroupMember : The operation couldn't be performed because 'dist-vest' matches multiple entries.
At line:3 char:28
+ Get-DistributionGroupMember <<<< $grp | Sort -Property DisplayName | Select DisplayName, Alias, Department | foreach {
+ CategoryInfo : InvalidData: (:) [Get-DistributionGroupMember], ManagementObjectNotFoundException
+ FullyQualifiedErrorId : B8FE669C,Microsoft.Exchange.Management.RecipientTasks.GetDistributionGroupMember


Laver jeg en Get-DistributionGroup dist-vest får jeg følgende:

Name DisplayName PrimarySmtpAddress
---- ----------- ------------------
dist-vest dist-vest [email protected]
dist-teksup dist-teksup [email protected]


Dvs den matcher også på PrimarySmtpAddress af en eller anden årsag.

Så tænker jeg at jeg vil finde gruppen på PrimarySmtpAddress:
PS C:\> Get-DistributionGroupMember [email protected] | Sort -Property DisplayName | Select DisplayName, Alias, Department

DisplayName Alias Department
----------- ----- ----------
Jesper Jensen jesjen Vest


Dvs, succes!

Fint tænker jeg, så retter jeg scriptet så den søger på PrimarySmtpAddress, så må det jo virke...

Get-DistributionGroup | Sort -Property DisplayName | foreach {
$grp = $_.PrimarySmtpAddress
Get-DistributionGroupMember $grp | Sort -Property DisplayName | Select DisplayName, Alias, Department | foreach {
$user = $_.displayname
$out = $user + "," + $_.Alias + "," + $_.Department + "," + $grp
$out
}
}
Igen, kan ses her: http://pastebin.com/VipeBtwF

Men ak:
Get-DistributionGroupMember : Cannot bind parameter 'Identity'. Cannot convert the "[email protected]" value of type "Microsoft.Exchange.Data.SmtpAddress" to type "Microsoft.Exchange.Configuration.Tasks.DistributionGroupMemberIdParam
eter".
At line:3 char:28
+ Get-DistributionGroupMember <<<< $grp | Sort -Property DisplayName | Select DisplayName, Alias, Department | foreach {
+ CategoryInfo : InvalidArgument: (:) [Get-DistributionGroupMember], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.Exchange.Management.RecipientTasks.GetDistributionGroupMember


Er der nogen bud på hvorfor den ikke virker? Jeg mistænker lidt at det er $_.PrimarySmtpAddress men den finder jo trods alt PrimarySmtpAddress på gruppen.
Gravatar #2 - Magten
23. apr. 2012 14:42
Den nemme løsning ville selvfølgelig være at lave udtrækket over to gange, men jeg vil gerne finde den rigtige løsning og kunne genbruge scriptet uden det fejler for andre folk :)
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login