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

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

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

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

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

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

Обновление 2: Хорошо - забудьте скрипт 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 мог бы сделать меня еще ближе.

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

1 ответ

Решение

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

Другие вопросы по тегам