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

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

有人知道如何从命令行获取 Exchange 2003 帐户的当前邮箱空间使用情况吗?

我可以使用 ldapsearch 和过滤器获取配额,但当前使用似乎不在 ldap 中......

我总是可以从交换系统管理器中导出使用情况,但不确定在脚本中除了“邮箱”字段之外还要“加入”什么,但我不知道它来自哪里,并且不要使加入必须是某种模糊逻辑会更容易....

答案1

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

  • 文件系统 - 查看 Exchange EDB 和日志文件的大小
  • 使用 Exchange 控制台或 Powershell 进行 Exchange 本身(是的,您可以将 Powershell 用于 Exchange 2003)

我有一个用于 Exchange 2003 的 PowerShell 脚本,它可以获取您的邮箱大小,但显然这是一个 Windows 解决方案,因此我不确定您是否可以通过任何方式从 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 运行它,那么您应该会得到您需要的东西。

答案2

通过 IMAP 查询怎么样?

您或许可以为此使用 Perl(并使用 ssl 加密)。
网络::IMAP::简单
IMAP::客户端
第一个链接中没有提到配额。第二个链接应该可以帮到你。

相关内容