【问题标题】:Exchange Attribute msExchRecipientTypeDetails交换属性 msExchRecipientTypeDetails
【发布时间】:2017-01-05 18:57:40
【问题描述】:

我正在尝试为使用 PowerShell 和 ADSI 的用户获取 msExchRecipientTypeDetails 的值,但我得到的是 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

我怎样才能得到准确的字符串值?我期待为 UserMailbox 获得“2147483648”

感谢任何帮助!

【问题讨论】:

    标签: powershell exchange-server adsi


    【解决方案1】:

    如果我使用目录搜索器检索用户对象,我能够看到此属性的值:

    $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 cmdlet:

    Get-aduser testuser -Properties msExchRecipientTypeDetails
    

    【讨论】:

    • 很高兴我能提供帮助,请确保您将问题标记为已为其他人回答。
    【解决方案2】:

    很遗憾,我无法将 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      相关资源
      最近更新 更多