powershell: как запрашивать AD и обмениваться размерами почтовых ящиков
Я только недавно узнал, что exchange server2007 больше не будет поддерживать WMI, а именно службу, которая использует \ROOT\MicrosoftExchangeV2. Старый сценарий, который я написал, выводит поля ServerName, StorageGroupName, Storename, MailboxDisplayName, Size, TotalItems, DeletedMessageSizeExtended в текстовый файл CSV.
Как мне сделать это в Powershell?
Я обнаружил, что вы можете сделать это в консоли управления Exchange 2007 с запущенной командой Get-MailboxStatistics | База данных FT, DisplayName, ItemCount, TotalItemSize | вне файла textfile1.txt
который генерирует некоторые из полей обмена. Как мне создать остальные поля Active Directory, такие как описание и поля Office, найденные в активном каталоге для того же пользователя в базе данных Exchange, и вывести их в текстовый файл?
4 ответа
И кстати... в зависимости от того, как вы хотите отформатировать эту информацию, может быть лучше написать функцию, которая получает информацию о пользователе, затем информацию о Exchange, а затем объединяет ее вместе в пользовательский объект. PowerShell может по-разному позаботиться о его выводе и форматировании. Моя колонка PowerShell по адресу http://technet.microsoft.com/en-us/magazine/dd228985.aspx посвящена именно этому - объединению информации из нескольких мест в консолидированный вывод. У меня также есть несколько постов в блоге на эту тему (поищите "эволюция" в поиске, я думаю) на ConcentratedTech.com.
Я понял..
Это так просто, как это
Get-User | выберите имя, офис
Командлеты Quest PowerShell (quest.com/powershell), вероятно, являются наилучшим способом. Вы можете использовать Get-QADUser -IncludeAllProperties, чтобы получить все атрибуты AD для пользователя, включая Office, Description и т. Д. Имейте в виду, что эту информацию имеет AD, а не Exchange.
Командлеты Exchange (Get-Mailbox) будут получать определенное количество информации для вас, но командлеты Exchange действительно нацелены на как можно больше битов Exchange.
Вы также можете использовать командлет Get-User exchange для получения частичного списка свойств AD пользователя:
PS> get-user | получить членов