Я ищу помощи от сообщества.
Я работаю над сценарием, который будет получать:
- статистику почтового ящика каждого почтового ящика пользователя, конвертировать общий размер в байты, чтобы отсортировать его, и получить 5 лучших для каждого почтовых ящиков БД.
- получить статус активного каталога (включен / отключен) каждого из этих пользователей, а также
Я ожидаю вывод, как показано ниже, но поле AD в конце выходит пустым
Querying Mailbox Database: DBX ......
DisplayName ItemCount TotalItemSize SizeInBytes Server AD
----------- --------- ------------- ----------- ------ --
abc xyz 240259 40.05 GB (43,004,724,140 bytes) 43004724140 ******
ab xyzd**** 126020 33.2 GB (35,646,143,893 bytes) 35646143893 ******
ab xyzd**** 126020 33.2 GB (35,646,143,893 bytes) 35646143893 ******
Сценарий Powershell:
$DBlist=(Get-MailboxDatabase * | where Server -EQ "EXCHANGE_Server").Name | sort
$DB_Count = ($DBlist | Measure-Object).Count
Write-Host "`n There are $DB_Count DBs with active copy on EXCHANGE_Server: "
Write-Host " $DBlist" -NoNewline
#echo $DBlist
foreach ($DB in $DBlist)
{
Write-Host "`n Querying Mailbox Database: $DB ......"
Get-Mailbox -Database $DB | Get-MailboxStatistics -WarningAction SilentlyContinue | Select-Object -Property DisplayName,ItemCount,TotalItemSize,@{Label="SizeInBytes";Expression={$_.TotalItemSize.Value.ToString().Split('(')[1].Split(' ')[0].Replace(',','').ToInt64($null)}}, @{n='Server';e={(Get-MailboxStatistics -identity $_.DisplayName).ServerName}}, @{n='AD';e={(Get-ADUser -Filter {DisplayName -like $_.DisplayName}).Enabled}} | Sort-Object -Property SizeInBytes -Descending |Select-Object DisplayName,ItemCount,TotalItemSize,SizeInBytes,Server, AD -First 20 | ft -AutoSize
}