exchange powershell:正在查找active directory office属性
我编写了这个小脚本,通过管道化exchange邮箱对象从get user中提取office属性exchange powershell:正在查找active directory office属性,powershell,active-directory,exchange-server-2007,Powershell,Active Directory,Exchange Server 2007,我编写了这个小脚本,通过管道化exchange邮箱对象从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 += $i
$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用户模板”,
因为它尚未登录到。
警告:默认情况下,只有前1000个
物品被退回。改变现状
返回的项目数,请指定
参数“-ResultSize”。归还所有
项目指定“-ResultSize Unilimited”
(注意:返回所有项目可能需要一个
时间长,消耗量大
内存的大小取决于实际的
项目数量)。事实并非如此
建议将结果存储在
变量相反,将结果传递给
要执行的另一个任务或脚本
批量更改
你知道是什么引起的吗
我的目标是开发一个脚本,通过计划任务每天执行一次,该任务编译所有邮箱名称、邮箱大小、totalitems、totaldeleted items及其office和description字段(来自active directory)
我猜get qaduser是quest 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
显示名称(Joey Blasio)和区分名称(CN=Joey
布拉西奥,OU=EWE,DC=BLA-1,DC=net)
我认为问题在于你正在访问一个从未被正常访问过的邮箱。你能用一个你知道所有者已经打开并使用过的邮箱试试吗?或者已经是这样了 另外,由于我目前无法访问我的交换机,您能告诉我Identity属性包含哪些内容吗?我绝对相信,在交换中使用类似于
Get-QADUser
和Get-User
的cmdlet,最终将为您带来更高的满意度。我们只需要将正确的属性从Get-MailboxStatistics
划分为Get-QADUser
可以使用的内容,这样它就可以为您找到正确的用户
了解你的最终目标也可能有点帮助——可能有一种完全不同的方法可以让你达到你想要的目标。这是通过
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
在Active directory中查找office属性的更好方法是绑定GUID属性吗?我注意到get-mailboxstatistics有一个mailboxguid,get-user有一个guid属性。