Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Exchange 2010 schema information

Posted on 2011-03-17
4
Medium Priority
?
572 Views
Last Modified: 2012-06-27
Hi Experts.

Using Powershell or c# I want to be able to get type information for Exchange attributes.
For example I would like to get a list of properties that are available on a mailbox and the type of that property before I actually get information for a particular mailbox.

Can anyone tell me how to do that?

Thanks.
0
Comment
Question by:Hagley
  • 2
3 Comments
 
LVL 13

Accepted Solution

by:
soostibi earned 2000 total points
ID: 35155463
This is not an easy question. Unfortunately there is no such object in AD as Mailbox. Normal user accounts have Exchange attributes, that relate to mailbox information. Some of these attributes are already in the schema, some come when we extend the schema for Exchange.
Some mailbox related attributes have a name starting with 'msExch-', some don't. So, to filter only Exchange related attributes is not an easy thing.

Here is a code that selects all the attributes starting with "msExch" only. To run this, you have to have ActiveDirectory module imported.
$syntaxhash = @{
'2.5.5.8-1' =	'Boolean'
'2.5.5.9-2' =	'Integer'
'2.5.5.10-4' =	'String(Octet)'
'2.5.5.17-4' =	'String(Sid)'
'2.5.5.2-6' =	'String(Object-Identifier)'
'2.5.5.9-10' =	'Enumeration'
'2.5.5.6-18' =	'String(Numeric)'
'2.5.5.5-19' =	'String(Printable)'
'2.5.5.4-20' =	'CaseIgnoreString(Teletex)'
'2.5.5.5-22' =	'String(IA5)'
'2.5.5.11-23' =	'String(UTC-Time)'
'2.5.5.11-24' =	'String(Generalized-Time)'
'2.5.5.3-27' =	'Case-Sensitive String'
'2.5.5.12-64' =	'String(Unicode)'
'2.5.5.16-65' =	'LargeInteger'
'2.5.5.15-66' =	'String(NT-Sec-Desc)'
'2.5.5.1-127' =	'Object(DN-DN)'
'2.5.5.7-127' =	'Object(DN-Binary)'
'2.5.5.13-127' =	'Object(Presentation-Address)'
'2.5.5.14-127' =	'Object(DN-String)'
'2.5.5.0-' =	'Undefined'
}

filter get-systemAuxiliaryClass 
{
    $ado = Get-ADObject -Properties maycontain, systemmaycontain, systemAuxiliaryClass -Filter {objectClass -eq 'ClassSchema' -and lDAPDisplayName -eq $_} `
        -SearchBase ((Get-ADForest).partitionscontainer -replace "partitions","schema")
    if($ado.systemAuxiliaryClass){
        $ado.systemAuxiliaryClass | get-systemAuxiliaryClass
    }
    $ado 
}

"user" | get-systemAuxiliaryClass | %{
    $_.maycontain, $_.systemmaycontain 
} | %{$_} | ?{$_ -like "msExch*"} | %{
    Get-ADObject -Properties * -Filter {objectClass -eq 'attributeSchema' -and lDAPDisplayName -eq $_} -SearchBase ((Get-ADForest).partitionscontainer -replace "partitions","schema")
} | ft name, @{n="syntax";e={$syntaxhash.($_.attributesyntax +"-"+$_.oMSyntax)}}, ismemberofpartialattributeset, issinglevalued -AutoSize

Open in new window

0
 
LVL 13

Expert Comment

by:soostibi
ID: 35155472
Of course, this is a PowerShell code.
0
 
LVL 71

Expert Comment

by:Chris Dent
ID: 35687983
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This month, Experts Exchange sat down with resident SQL expert, Jim Horn, for an in-depth look into the makings of a successful career in SQL.
Mailbox Corruption is a nightmare every Exchange DBA wishes he never has. Recovering from it can be super-hectic if not entirely futile. And though techniques like the New-MailboxRepairRequest cmdlet have been designed to help with fixing minor corr…
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

782 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question