dun*_*nxd 1 powershell active-directory exchange-2003
我有一个很棒的 VBscript,它将列出我所有大小低于给定大小的Exchange 2003邮箱。
我有另一个很棒的 VBscript,它接受用户列表并为每个用户设置配额。
任何人都可以填补空白,并指出一种方法(VBscript 或其他方式)的方向,我可以通过该方法为邮箱低于特定限制的所有用户设置配额?
我正在尝试减少我的邮箱限制,并希望首先对已经低于该限制的用户实施该限制。这样,让人们低于新限制的更大问题不会变得更大!
更新:感谢 Evan Anderson,我发现我需要将 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
}
Run Code Online (Sandbox Code Playgroud)
目前,这会将 MailboxGUID 输出为字符串类型的 GUID(例如 {21EC2020-3AEA-1069-A2DD-08002B30309D})。我想通过这个在 AD 中查找用户,但 AD 以 octetBytes 格式存储它们。
我发现了一些powershell 函数可以进行转换,但只有在删除大括号时才能进行。该Guid.ToString方法应该提供这一点,但我不能得到它的工作上面。
但是,如果我能弄清楚如何做到这一点,Guid.ToByteArray方法可能会让我更接近。
有没有人破解这个?
如果没有看到您的脚本,很难为您提供“交钥匙”解决方案。您可能能够通过对msExchMailboxGuid
属性执行 LDAP 搜索来将用户帐户与邮箱匹配,具体取决于您的邮箱大小脚本是否可以返回该属性。该 GUID 将明确配对整个 Exchange 组织中的邮箱和 AD 用户帐户。
归档时间: |
|
查看次数: |
1902 次 |
最近记录: |