2017-01-05 34 views
1

我想爲使用PowerShell和ADSI的用戶獲得msExchRecipientTypeDetails的值,但我得到System.__ComObject交換屬性msExchRecipientTypeDetails

我無法前進得到確切的字符串。 我使用下面的PowerShell命令

$ADUsr = [ADSI]"LDAP://CN=User Name,OU=OrgUnit,DC=dc,DC=dc,DC=dc" 
$ADUsr.msExchRecipientTypeDetails 

而且結果示於下

PS C:\Windows\system32> $ADUsr.msExchRecipientTypeDetails 
System.__ComObject 

我怎樣才能得到確切的字符串值?我期待爲UserMailbox獲得「2147483648」

任何幫助表示讚賞!

回答

0

我能看到這個屬性的值,如果我使用目錄搜索來檢索用戶對象:

$Searcher = New-Object DirectoryServices.DirectorySearcher 
$Searcher.Filter = "(&(objectCategory=person)(sAMAccountName=testuser))" 
$Searcher.SearchRoot = 'LDAP://DC=test,DC=domain,DC=au' 
$Object = $Searcher.FindOne() 
$Object .Properties.msexchrecipienttypedetails 

或者你可以簡單地使用PowerShell命令:

Get-aduser testuser -Properties msExchRecipientTypeDetails 
+0

感謝尼克用戶!隨着一些國防部,這工作如何我想它是.. – TinkerAdmin

+0

很高興我可以幫助,確保你標記的問題回答爲其他人。 – Nick

0

不幸,我不能使用PS作爲AD。 定製這個工作我想要的。我已經有DN查詢在腳本的頂部用於其他目的

$UserDN = dsquery user forestroot -samid "USERNAME" 

其餘檢查其他屬性

$Searcher = New-Object DirectoryServices.DirectorySearcher 
$LDAPPath = "LDAP://"+$UserDN 
$Searcher.SearchRoot = $LDAPPath 
$Object = $Searcher.FindOne() 
$DisUsr = $Object.Properties.useraccountcontrol | Select -First 1 
$SGMembership = $Object.Properties.memberof 
$RecipientTypeDetails = $Object.Properties.msexchrecipienttypedetails | Select -First 1 
$RemoteRecipientType = $Object.Properties.msexchremoterecipienttype | Select -First 1