如何从Exchange 2003邮箱列表中获取AD用户?

我有一个伟大的VBScript将列出所有我的Exchange 2003 邮箱大小在给定的大小。

我有另一个伟大的VBScript接受用户列表,并为每个用户设置配额。

任何人都可以填补空白,并指向一个方法(VB脚本或其他)的方向,我可以设置所有用户谁拥有一定的限制邮箱的配额?

我试图减less我的邮箱限制,并希望开始对已经在其下的用户强制执行此限制。 这样,让人们低于新的极限的更大的问题不会变得更大!

更新 :感谢埃文·安德森我发现我需要将我的GUID转换为另一种格式用于LDAP查找。 微软有一个知识库文章 ,解释如何做到这一点,但我没有所需格式的GUID。 还有另一篇kb文章描述了“ 如何将string格式化的GUID转换为查询活动目录时使用的hexstringforms ”,但该脚本会引发错误。

更新2 :好的 – 忘记VB脚本。 我find了一个更简洁的方式来使用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作为stringtypes的GUID(例如{21EC2020-3AEA-1069-A2DD-08002B30309D})。 我想通过AD查找AD中的用户,但AD将它们存储为octetBytes格式。

我已经find了一些PowerShell的function ,将做转换,但只有当大括号被删除。 Guid.ToString方法应该提供这个,但我不能得到它在上面的工作。

但是,如果我能想出如何做到这一点, Guid.ToByteArray方法可能会让我更接近。

有没有人破解这个?

没有看到你的脚本,很难给你一个“交钥匙”解决scheme。 根据您的邮箱大小脚本是否可以返回,您可以通过对msExchMailboxGuid属性执行LDAPsearch来将用户帐户与邮箱进行匹配。 该GUID将消除在整个Exchange组织中将邮箱和AD用户帐户配对的问题。