Powershell: как получить полный список групп рассылки - PullRequest
1 голос
/ 28 июля 2011

Я совершенно новичок в PowerShell, я никогда раньше не касался этого языка сценариев.Тем не менее, у меня есть опыт работы с Perl и Bash.Я пытаюсь реализовать небольшой сценарий, который будет получать список DG на сервере Exchange, фильтрует результаты, чтобы получить только группы, которые имеют определенную строку, соответствующую текущему году.

Пример: проверка года, в данном случае 2011. Имя фильтра содержит 'P11' Возвращает только последнее имя DG и анализирует первые 7 символов.

Как я могу сделать это с помощью powershell с сервера обмена?Вот что я получил:

add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010

# Retrieve all DGs
$temp = Get-DistributionGroup -ResultSize Unlimited | 

foreach($group in $temp) 
{ 
write-output "GroupName:$group " 
Write-output "GroupMembers:" 
Get-DistributionGroupMember $group |ft displayname,alias,primarysmtpaddress 
write-output ‘ ‘ 

}

это приводит к следующей ошибке:

Неожиданный токен 'in' в выражении или выражении.В C: \ Users \ jfb \ Desktop \ NewGroupProject.ps1: 7 char: 18 + foreach ($ group в <<<< $ temp) + CategoryInfo: ParserError: (in: String) [], ParseException + FullyQualifiedErrorId: UnexpectedToken </p>

Ответы [ 2 ]

2 голосов
/ 28 июля 2011

Удалите конечный | в строке $temp = Get-DistributionGroup -ResultSize Unlimited |, и он должен работать нормально.

То, что происходит, так как у вас есть |, он обрабатывает foreach как foreach-object

1 голос
/ 28 июля 2011

Попробуйте это (не проверено).Создайте объект даты, используя Get-Date, и отформатируйте дату, включив две последние цифры года, заключенные в звездочки.Это будет подстановочный знак для командлета Get-DistributionGroup.Выберите последний объект DG и раскройте его имя.

$name = Get-Date -Format *Pyy*
$group = Get-DistributionGroup $name | Select-Object -Last 1 -ExpandProperty Name

if($group)
{
    $group.Substring(0,7)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...