Атрибут Exchange msExchRecipientTypeDetails

Я пытаюсь получить значение msExchRecipientTypeDetails для пользователя, использующего PowerShell и ADSI, но я получаю System.__ComObject,

Я не могу двигаться вперед, чтобы получить точную строку. Я использую ниже 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

Как я могу получить точное строковое значение? Я ожидаю получить "2147483648" для UserMailbox

Любая помощь приветствуется!

2 ответа

Решение

Я могу видеть значение этого свойства, если использую средство поиска каталогов для извлечения объекта пользователя:

$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

К сожалению, я не могу использовать 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
Другие вопросы по тегам