Назад | Перейти на главную страницу

Как получить пользователей AD из списка почтовых ящиков Exchange 2003?

У меня есть отличный VBscript, который перечислит все мои Exchange 2003 почтовые ящики с размером меньше заданного.

У меня есть еще один отличный VBscript, который принимает список пользователи и устанавливает квоты для каждого из этих пользователей.

Может ли кто-нибудь заполнить пробел и указать мне метод (VBscript или другой), с помощью которого я могу установить квоту для всех пользователей, чей почтовый ящик меньше определенного лимита?

Я пытаюсь уменьшить лимиты для своего почтового ящика и хочу начать с применения этого лимита для пользователей, которые уже ниже него. Таким образом, более серьезная проблема, заключающаяся в том, что люди не достигают нового предела, не становится больше!

Обновить: Благодаря Эвану Андерсону я обнаружил, что мне нужно преобразовать свой GUID в другой формат для использования в поиске LDAP. У Microsoft есть статья базы знаний это объясняет, как это сделать, но у меня нет GUID в нужном формате. Есть еще одна статья kb, в которой описывается "как преобразовать GUID в формате строки в шестнадцатеричную строковую форму для использования при запросе активного каталога", но скрипт выдает ошибку.

Обновление 2: Ok - забудьте сценарий VB. Я нашел более лаконичный способ получить свои данные с помощью PowerShell.

$computers = "vexch01","vexch02"
foreach ($computer in $computers) {
  Get-Wmiobject -namespace root\MicrosoftExchangeV2 -class Exchange_Mailbox -computer $computer | sort-object -desc Size | select-object MailboxDisplayName,StoreName,@{Name="Size/Mb";Expression={[math]::round(($_.Size / 1024),2)}}, MailboxGUID | Export-Csv -notype -Path $computer.csv 
}

В настоящее время это выводит MailboxGUID как GUID строкового типа (например, {21EC2020-3AEA-1069-A2DD-08002B30309D}). Я хочу искать пользователей в AD по этому, но AD хранит их в формате octetBytes.

Я нашел несколько функции powershell который выполнит преобразование, но только после удаления фигурных скобок. В Guid.ToString метод должен предоставить это, но я не могу заставить его работать в приведенном выше.

Однако, если бы я мог понять, как это сделать, Guid.ToByteArray может приблизить меня еще больше.

Кто-нибудь это взломал?

Не видя своих сценариев, трудно дать вам решение «под ключ». Вероятно, вы сможете сопоставить учетные записи пользователей с почтовыми ящиками, выполнив поиск LDAP по msExchMailboxGuid атрибут, в зависимости от того, может ли ваш скрипт размера почтового ящика его вернуть. Этот GUID однозначно будет связывать почтовый ящик и учетную запись пользователя AD во всей вашей организации Exchange.