2009-02-16 115 views
0

我正在使用powershell來提取Exchange 2003用戶列表,並基於用戶的郵箱「LegacyDN」,我希望能夠使用LDAP查詢來提取他們的activesyncenabled屬性(msExchOmaAdminWirelessEnable),說明和辦公室;然而,它似乎並沒有爲我而來。有任何想法嗎?powershell exchange 2003:查詢ActiveDirectory的ActiveSync,辦公室和描述?

這裏的是我如何查詢的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

這裏有一種方法:

$搜索= System.DirectoryServices.DirectorySearcher

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

$ props =」mailNickName「,」displayName「,」physicaldeliveryofficename「,」descriptio n「,」msExchOmaAdminWirelessEnable「

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

$用戶= $ search.findAll()

的foreach($ U在$用戶)

{

$ DisplayName = @ {name =「DisplayName」; expression = {$ u.properties.item(「DisplayName」)}}

$ Office = @ {name =「Office」; expression = {$ u.properties。 item(「physicaldeliveryofficename」)}}

$描述= @ {名稱= 「說明」;表達式= {$ u.properties.item( 「描述」)}}

$的Activesync = @ {名稱= 「ActiveSync的」;表達式= {$ u.properties .item(「msExchOmaAdminWirelessEnable」)}}

$ u |選擇$ DisplayName,$ Office,$說明,$ Activesync

}

+0

有沒有辦法做到這一點,如果你只是給郵箱guid? – phill 2009-02-17 08:01:12