powershell exchange 2003:查询ActiveDirectory for activesync,office和description?

时间:2009-02-16 05:37:24

标签: powershell windows-server-2003 exchange-server

我正在使用powershell来提取Exchange 2003用户列表,并根据用户的邮箱“LegacyDN”,我希望使用LDAP查询来提取他们的activesyncenabled属性(msExchOmaAdminWirelessEnable),描述和办公室;然而,它似乎并没有出现在我身上。有任何想法吗?

这是我如何查询AD属性:

$allusers = get-wmiobject -class exchange_mailbox -namespace root\microsoftexchangev2 -computername srv02 | select mailboxdisplayname, legacyDN 

foreach ($user in $allusers) 
{
$obj = new-object psobject 
$exchangever = "2003" 

$tmp = [adsi]("LDAP://" + $user.legacydn) 

$obj | add-member -membertype noteproperty -name "Display Name" -value $user.mailboxdisplayname
$obj | add-member -membertype noteproperty -name "Office" -value $tmp.physicaldeliveryofficename 
$obj | add-member -membertype noteproperty -name "Description" -value $tmp.description 
$obj | add-member -membertype noteproperty -name "Activesync" -value $tmp.msExchOmaAdminWirelessEnable 

$allusersemail += $obj 

}

$alluseremail | export-csv \\srv02\logs\test.csv 

1 个答案:

答案 0 :(得分:1)

这是一种方式:

$ search = System.DirectoryServices.DirectorySearcher

$ search.filter =“(&(homeMDB = *)(objectcategory = user)(objectclass = user))”

$ props =“mailNickName”,“displayName”,“physicaldeliveryofficename”,“description”,“msExchOmaAdminWirelessEnable”

$道具| foreach {[void] $ search.PropertiesToLoad.Add($ _)}

$ users = $ search.findAll()

foreach($ u in $ users)

{

$ DisplayName = @ {name =“DisplayName”; expression = {$ u.properties.item(“DisplayName”)}}

$ Office = @ {name =“Office”; expression = {$ u.properties.item(“physicaldeliveryofficename”)}}

$ Description = @ {name =“Description”; expression = {$ u.properties.item(“Description”)}}

$ Activesync = @ {name =“Activesync”; expression = {$ u.properties.item(“msExchOmaAdminWirelessEnable”)}}

$ u |选择$ DisplayName,$ Office,$ Description,$ Activesync

}