2013-06-01 3 views
0

Не могли бы вы посоветовать, почему это работает:Powershell - Вызов свойств внутри выражения

Get-DistributionGroup -Filter {DisplayName -like "*Name*"} | 
    fl Displayname, PrimarySMTPAddress, @{Label = "Members"; expression = { 
    Get-DistributionGroupMember $_.Identity | 
     select -ExpandProperty PrimarySmtpAddress 
    }} 

И это не:

Get-DistributionGroup -Filter {DisplayName -like "*Name*"} | 
    fl Displayname, PrimarySMTPAddress, @{Label = "Members"; expression = { 
    (Get-DistributionGroupMember $_.Identity).PrimarySmtpAddress 
    }} 

ответ

0

Это зависит от того, сколько членов вы вернетесь (вторая команда будет работать, если результатом является один объект).

Первая команда передает результат select-object, который расширяет список всех членов группы (коллекция членов разворачивается, и каждый член отправляется по каналу на выбор объекта, по одному за раз).

Вторая команда получает сбор членов и просит, чтобы отобразить основной адрес коллекции самого, а не адрес каждого члена, что приводит к ничего вызвать коллекции не имеет PrimarySmtpAddress свойства.

сделать вторую команду работу, которую вы должны были бы трубы Foreach-объект первым:

... @{Label = "Members"; expression = {(Get-DistributionGroupMember $_.Identity | Foreach-Object {$_.PrimarySmtpAddress}} 
+0

Получил! Огромное спасибо. –

+0

Добро пожаловать. Подумайте о том, чтобы обозначить это как ответ, если он ответит на ваш вопрос. –

0

Это лучше, если вы описать проблему более подробно, чем " не работает »- если есть сообщение об ошибке, дайте это. Если вы получите неожиданные результаты, опишите, что вы ожидали, и что вы получили вместо этого.

Get-DistributionGroupMember $_.Identity | select -ExpandProperty PrimarySmtpAddress возвращает строку.

(Get-DistributionGroupMember $_.Identity).PrimarySmtpAddress возвращает объект.

+0

Идея заключается в том, чтобы получить эту команду вернуть некоторые свойства группы рассылки и член группы распределения без дополнительной трубы подкладки Первой команда возвращает всех членов группы рассылки –

Смежные вопросы