powershell:如何查询AD和交换邮箱大小

时间:2008-11-24 21:21:35

标签: .net powershell active-directory exchange-server exchange-server-2007

我刚刚发现Exchange server2007将不再支持WMI,即使用\ ROOT \ MicrosoftExchangeV2的服务。我编写的旧脚本将输出ServerName,StorageGroupName,Storename,MailboxDisplayName,Size,TotalItems,DeletedMessageSizeExtended字段输出到csv文本文件。

我将如何在Powershell中执行此操作?

我发现您可以在运行的2007 Exchange管理控制台中执行此操作 Get-MailboxStatistics | FT数据库,DisplayName,ItemCount,TotalItemSize | out-file textfile1.txt

生成一些交换字段。我是否要生成其余的Active Directory字段,例如在Exchange数据库中为同一用户在Active Directory中找到的描述和Office字段,并将其输出到txt文件?

4 个答案:

答案 0 :(得分:1)

而BTW ......根据你想要格式化这些信息的方式,最好编写一个获取用户信息的函数,然后是Exchange信息,然后将它们组合成一个自定义对象。然后,PowerShell可以通过各种方式为您输出和格式化它。我在http://technet.microsoft.com/en-us/magazine/dd228985.aspx的PowerShell专栏就是这样 - 将来自多个地方的信息合并到合并输出中。我也有一些关于这个主题的博客文章(我认为在搜索中查找“进化”)在ConcentratedTech.com上。

答案 1 :(得分:0)

Quest PowerShell cmdlet(quest.com/powershell)可能是最好的方法。您可以使用Get-QADUser -IncludeAllProperties来获取用户的所有AD属性,包括Office,Description等。请记住,它是具有此信息的AD,而不是Exchange。

Exchange cmdlet(Get-Mailbox)将为您获取一定数量的信息,但Exchange cmdlet实际上只关注Exchange位。

答案 2 :(得分:0)

您还可以使用Get-User exchange cmdlet获取用户AD属性的部分列表:

PS> get-user |得到构件

答案 3 :(得分:0)

我想出来了..

这就像这个简单

Get-User |选择姓名,办公室