exchange powershell:查找活动目录office属性

时间:2008-12-02 21:26:34

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

我编写了这个小脚本,通过管道交换邮箱对象从get-user中提取office属性。

$server = "tms08"
$arrUser = get-mailbox -Server $server |Get-MailboxStatistics |select identity
foreach ( $id in $arrUuser)
{
    $office = get-user -Identity $id.Identity |select office
    $out += $id.Identity 
}
$out 

我没有得到任何输出或红色错误。只是警告:

  

警告:没有要返回的数据   指定的邮箱   'Globe / MobileElect Usertemplate',   因为它还没有登录。   警告:默认情况下只有前1000个   物品被退回。要改变   返回的项目数,指定   参数“-ResultSize”。全部归还   项目指定“-ResultSize Unilimited”   (注意:重新编制所有项目都可以   时间长,消耗量大   内存取决于实际情况   东西的个数)。它不是   建议将结果存储在a   变量;而是将结果传递给   要执行的另一个任务或脚本   批量更改。

关于可能导致此问题的任何想法?

我的目标是开发一个脚本,该脚本每天通过计划任务执行一次,该任务编译所有邮箱名称,邮箱大小,totalitems,总删除项目,以及他们的办公室和描述字段(来自活动目录)。

我猜测get-qaduser是任务powershell插件的一部分。我会在本地安装并尝试一下..

identiy属性似乎给出了类似于guid的数字 1234as01-4f54-1234-b1df-f1df1df12d2d

我试过了

get-user -identity 1234as01-4f54-1234-b1df-f1df1df12d2d  

它找到了一个名字(joey blasio)和收件人类型(usermailbox)

然后我跑了

get-user -Identity 1234as01-4f54-1234-b1df-f1df1df12d2d | select displayname, distinguistedname  
  

Displayname(Joey Blasio)和DistinguishedName(CN = Joey   Blasio,OU = EWE,DC = BLA-1,DC =净)

2 个答案:

答案 0 :(得分:0)

我认为问题在于您正在访问从未正常访问过的邮箱。您是否可以使用您知道所有者已打开并使用过的邮箱尝试此操作?或者情况已经如此了?

另外,由于我目前无法访问我的Exchange机器,您能否让我了解Identity属性包含的内容?我绝对肯定使用像Get-QADUser这样的cmdlet,而不是使用Exchange中的Get-User,最终会为您带来更多满足感。我们只需要将Get-MailboxStatistics中的正确属性与Get-QADUser可以使用的属性相结合,这样它就可以为您提供合适的用户。

理解你的最终目标可能也有点帮助 - 可能有一种完全不同的方法可以让你到达你想去的地方。

答案 1 :(得分:0)

DisplayName

完成
$exchangeservers = Get-MailboxServer
$AllUsers = @()
$AllUsersEmail = @()

foreach ($server in $exchangeservers)
{
    $AllUsers += Get-Mailbox -Server $server |Get-MailboxStatistics |select servername,displayname,itemcount,totalitemsize
}

foreach ($user in $AllUsers)
{
    $obj = new-object psObject
    $mailinfo = get-mailbox -identity $user.displayname |select PrimarySMTPAddress,Office, DistinguishedName
    $tmp = [adsi]("LDAP://" +  $mailinfo.DistinguishedName)


    $obj |Add-Member -MemberType noteproperty -Name "Server Name" -Value $user.ServerName
    $obj |Add-Member -MemberType noteproperty -Name "Display Name" -Value $user.DisplayName
    $obj |Add-Member -MemberType noteproperty -Name "Item Count" -Value $user.ItemCount
    $obj |Add-Member -MemberType noteproperty -Name "Total Item Size" -Value $user.TotalItemSize
    $obj |Add-Member -MemberType noteproperty -Name "Email Address" -Value $mailinfo.PrimarySMTPAddress
    $obj |Add-Member -MemberType noteproperty -Name "Office" -Value $mailinfo.Office
    $obj |Add-Member -MemberType noteproperty -Name "Description" -Value $tmp.description

    $AllUsersEmail += $obj
}

$AllUsersEmail |Export-Csv c:\test.csv -NoTypeInformation