如何从Linux命令行获取Exchange 2003邮箱使用情况?

任何人都知道我可能从命令行获取Exchange 2003帐户的当前邮箱空间使用情况?

我可以使用ldapsearch和filter来获得配额,但目前的使用情况似乎并不在ldap中。

我总是可以从交换系统pipe理器中导出使用情况,但是不知道在“邮箱”字段以外的脚本中“join”什么,但是我不知道从哪里来,这会更容易不要使join必须是某种模糊的逻辑….

实际上有两种方法可以从Exchange 2003中获取邮箱数据库的大小

  • 文件系统 – 查看Exchange EDB和日志文件的大小
  • 使用Exchange控制台或Powershell进行交换(是的,您可以使用Powershell for Exchange 2003)

我有一个用于Exchange 2003的PowerShell脚本,它可以让你获得邮箱的大小,但显然这是一个Windows解决scheme,所以我不确定你可以从linux远程调用它。

这是Powershell脚本,它将使您获得EDB和STM文件的大小:

$server = “ATS-Exch301″ # Give Server Name Here foreach ($DB in get-mailboxdatabase -server $server) { $DBEDBPath = “name='” + $DB.EdbFilePath.ToString().Replace(”\”,”\\”) + “'” $DBSTMPath = $DBEDBPath.replace(”edb”,”stm”) $DBEDBSize = (get-wmiobject CIM_Datafile -filter $DBEDBPath -ComputerName $Server).filesize $DBSTMSize = (get-wmiobject CIM_Datafile -filter $DBSTMPath -ComputerName $Server).filesize $DBEDBSize = $DBEDBSize / 1MB $DBSTMSize = $DBSTMSize / 1MB Write-host $DB.identity `t $DBEDBSize `t $DBSTMSize } 

如果你能用PSExec运行,你应该得到你所需要的。

那么通过IMAP查询呢?

你也许可以使用Perl(并使用sslencryption)。
网:: IMAP ::简单
IMAP客户端::
在这里的第一个链接中没有提到配额。 第二个链接应该帮助你。