Я все еще изучаю PowerShell и пытаюсь извлечь некоторые данные из Intermedia, используя их инструмент PowerShell Intermedia HostPilot.
Сначала я добавлю всю информацию группы рассылки в свой $Массив групп:
$Groups = Get-DistributionGroup
Я могу получить DisplayName и EmailAddress тех, кто находится в группах рассылки, однако я не могу сказать, какой пользователь в какой группе:
for ($i=0; $i -lt $Groups.length; $i++)
{ Get-DistributionGroupMember -Identity $Groups[$i].DistinguishedName |
Select DisplayName, EmailAddress }
Iнашел приведенный ниже сценарий онлайн (https://www.morgantechspace.com/2015/06/powershell-export-distribution-list-members-to-csv.html), который был полезен, но я до сих пор не вижу членов группы в моем файле csv, просто список групп рассылки:
$Groups = Get-DistributionGroup
$Groups | ForEach-Object {
$group = $_.GUID
$members = ''
Get-DistributionGroupMember $group | ForEach-Object {
If($members) {
$members=$members + ";" + $_.GUID
} Else {
$members=$_.GUID
}
}
New-Object -TypeName PSObject -Property @{
GroupName = $group
Members = $members
}
} | Export-CSV "C:\\Distribution-Group-Members.csv" -NoTypeInformation -Encoding UTF8
В идеалеЯ хотел бы иметь дополнительный столбец, который отображает группу рассылки для каждого пользователя. Примерно так:
DistributionGroup DisplayName EmailAddressбухгалтерский учет Роб Смит rob.smith@yahoo.comбухгалтерский учет Джон Куинси john.quincy@yahoo.com
Это один из вариантов, которые я пробовал:
for ($i=0; $i -lt $Groups.length; $i++)
{ Get-DistributionGroupMember -Identity $Groups[$i].DistinguishedName |
Select DisplayName, EmailAddress, $Groups[$i].DisplayName }
Это просто дает мне заголовок с именем первой группы рассылки, например:
DisplayName EmailAddress Accounting
Любые советы приветствуются.Спасибо!