我编写了这个小脚本,通过管道交换邮箱对象从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 =净)
答案 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