The msExchHouseIdentifier attribute is a single-valued Unicode string field on user and contact objects in Active Directory (AD). It was introduced by Microsoft Exchange to store a street-level address identifier, such as a building number or house number, for a contact in an Exchange address book. The attribute ships as part of the Organizational-Person class and is present in every AD schema from Windows Server 2003 onward, regardless of whether Exchange is installed.
This article covers what the msExchHouseIdentifier is, where it lives in the schema, and how to manage it using three approaches: Active Directory Users and Computers (ADUC), PowerShell, and ADManager Plus.
| LDAP display name | msExchHouseIdentifier |
| CN | ms-Exch-House-Identifier |
| Syntax | String (Unicode), attributeSyntax 2.5.5.12, omSyntax 64 |
| MAPI-Id | 0x924 |
| Attribute ID (OID) | 1.2.840.113556.1.2.596 |
| System ID GUID | a8df7407-c5ea-11d1-bbcb-0080c76670c0 |
| Single- or multi-valued | Single-valued |
| Maximum length | 128 characters |
| Indexed | No |
| In Global Catalog | No |
| Replicated | Yes, within the domain |
| System-Only (writable) | False—writable by administrators |
| Visible in ADUC UI | No, requires the Attribute Editor tab |
| Applies to | Organizational-Person class (users and mail-enabled contacts) |
| First implemented | Windows Server 2003 |
| Source schema | Microsoft Exchange (shipped with core AD schema) |
| Microsoft reference | Win32 ADSchema |
Note: msExchHouseIdentifier is present in the AD schema on every domain from Windows Server 2003 onward, even on domains that have never had Exchange installed. The attribute is defined in the base AD schema that Microsoft ships with the operating system. Its presence does not indicate an Exchange deployment; an empty or null value is normal on non-Exchange environments.
msExchHouseIdentifier was added to the core AD schema to support Exchange Server's address book functionality. Exchange used the attribute to store a sub-street address identifier, such as a building name, building number, or house number, that sits below the street address level in a postal address. In an Exchange address book contact entry, it maps to the House Identifier MAPI property (0x924).
In practice, the attribute is rarely populated in most AD environments. Common scenarios where it appears include:
If your organization needs to store richer address data on user or contact objects, the standard streetAddress, l (city), st (state), postalCode, and co (country) attributes are better choices for most purposes. They are surfaced natively in the ADUC address tab, are searchable by default, and are included in the Global Catalog. msExchHouseIdentifier is appropriate only when you specifically need to match an Exchange MAPI field or an existing external system that uses it.
msExchHouseIdentifier is not exposed in the standard user or contact properties tabs in ADUC. You read and set it through the Attribute Editor, which requires Advanced Features to be enabled.
For user objects, use Set-ADUser with -Replace, -Add, or -Clear. For contact objects (which have no dedicated AD cmdlet), use Set-ADObject instead. Both require the ActiveDirectory module.
Get-ADUser -Identity jsmith -Properties msExchHouseIdentifier | Select-Object SamAccountName, msExchHouseIdentifier
Returns the current msExchHouseIdentifier value for the specified user. The attribute must be requested explicitly; it is not returned by default.
Get-ADObject -Filter 'ObjectClass -eq "contact"' `
-SearchBase 'OU=Contacts,DC=contoso,DC=com' `
-Properties msExchHouseIdentifier |
Select-Object Name, msExchHouseIdentifier
Returns the msExchHouseIdentifier value for all contact objects in the specified OU. Contact objects have no dedicated Get-ADContact cmdlet; use Get-ADObject instead.
Set-ADUser -Identity jsmith -Replace @{msExchHouseIdentifier = 'Building 4'}
Sets msExchHouseIdentifier to Building 4 on the specified user. Use -Replace whether the attribute is currently set or null; it handles both cases correctly.
Get-ADObject -Filter 'Name -eq "Acme Corp Contact"' `
-SearchBase 'OU=Contacts,DC=contoso,DC=com' |
Set-ADObject -Replace @{msExchHouseIdentifier = '12B'}
Sets msExchHouseIdentifier to 12B on the named contact object. Pipe the result of Get-ADObject into Set-ADObject since there is no Set-ADContact cmdlet.
Set-ADUser -Identity jsmith -Clear msExchHouseIdentifier
Removes the msExchHouseIdentifier value entirely, setting it back to null. Use -Clear rather than -Replace with an empty string to produce a true null value.
Import-Csv .\house-ids.csv | ForEach-Object {
Set-ADUser -Identity $_.SamAccountName `
-Replace @{msExchHouseIdentifier = $_.HouseIdentifier}
}
Reads a CSV with SamAccountName and HouseIdentifier columns and sets msExchHouseIdentifier on each user in the list. Validate the CSV data before running in production.
Get-ADUser -Filter 'msExchHouseIdentifier -like "*"' `
-Properties msExchHouseIdentifier |
Select-Object SamAccountName, DisplayName, msExchHouseIdentifier |
Export-Csv .\house-identifier-report.csv -NoTypeInformation
Finds all user accounts where msExchHouseIdentifier is set and exports them to CSV. Useful as a baseline audit or pre-migration inventory.
Get-ADObject -Filter {(ObjectClass -eq 'contact') -and (msExchHouseIdentifier -like '*')} `
-Properties Name, msExchHouseIdentifier |
Select-Object Name, msExchHouseIdentifier |
Export-Csv .\contact-house-identifier-report.csv -NoTypeInformation
Finds all contact objects where msExchHouseIdentifier is set and exports them to CSV.
ADManager Plus can surface msExchHouseIdentifier as a custom attribute, making it available in management screens, bulk import templates, and reports without requiring administrators to use the Attribute Editor or PowerShell for routine updates.
If msExchHouseIdentifier is part of your standard provisioning data (for example, when onboarding staff for a specific campus), add it to a user creation template:
To allow a facilities coordinator or HR system integrator to update building and house identifiers without broader AD write access, use help desk delegation:
By default, msExchHouseIdentifier is readable by all authenticated domain users, consistent with the general AD read model for user and contact attributes. The value is not sensitive in itself (it stores a building or house number, not a password or credential), but it contributes to the overall address profile of a person, which may be subject to data privacy policies depending on your jurisdiction.
Confirm that Advanced Features is enabled in ADUC (View > Advanced Features). The attribute is present on all Organizational-Person objects from Windows Server 2003 onward, so it should always be visible once Advanced Features is on. If it still does not appear, confirm you are viewing the correct object type: The attribute applies to users and contacts, not to computers or groups.
Confirm your command includes -Properties msExchHouseIdentifier explicitly. Exchange-prefixed attributes are not returned in the default property set. If the attribute is still null after adding the -Properties flag, the value may be set on a contact object rather than a user object. Use Get-ADObject with an appropriate filter instead.
The string value exceeds the 128-character maximum defined in the schema (Range-Upper: 128). Trim the value to 128 characters or fewer and retry.
msExchHouseIdentifier is not in the default Microsoft Entra Connect attribute sync set and will not be synchronized to Microsoft Entra ID or Exchange Online without a custom directory extension configuration. If you need the value to appear in Exchange Online, configure a custom sync rule in Microsoft Entra Connect to map the attribute to a directory extension attribute.
The -Filter or -Identity you specified does not match any object. Contact objects do not have sAMAccountName values. Use Name or DistinguishedName to identify the contact, or use Get-ADObject -Filter 'ObjectClass -eq "contact"' with a -SearchBase to locate it first, then pipe to Set-ADObject.
ADManager Plus gives you centralized control over Exchange-prefixed attributes, address book contact data, and bulk provisioning workflows, without requiring administrators to use the Attribute Editor or PowerShell for routine updates. You can configure msExchHouseIdentifier as a custom attribute, update it in bulk via CSV, and delegate it to facilities teams or HR integrators, all from a single web-based console.
In Exchange MAPI terminology, the house identifier (MAPI property 0x924) refers to a sub-street address identifier such as a building number, house number, or building name that qualifies the street address. It predates modern postal addressing standards and is rarely used in practice outside legacy Exchange address book migrations.
No. The Office field in ADUC maps to physicalDeliveryOfficeName. The msExchHouseIdentifier attribute is distinct and is not surfaced in any standard ADUC tab. The two attributes can coexist and hold different values.
Yes. msExchHouseIdentifier is defined in the core AD schema that ships with Windows Server and is present on all Organizational-Person objects regardless of whether Exchange has ever been installed in the forest. Its presence does not imply an Exchange dependency.
You can store any Unicode string up to 128 characters in it, so technically yes. In practice, using it for non-address data creates confusion for any future Exchange integration or migration and makes schema audits harder to interpret. If you need a general-purpose string field, a custom schema extension with a descriptive name is cleaner.
No. It is not in the default Microsoft Entra Connect synchronization attribute set. To synchronize it to Microsoft Entra ID, you would need to configure a custom directory extension and a custom sync rule in Microsoft Entra Connect.
In Exchange on-premises, the attribute is available to the GAL through the MAPI property 0x924. Whether it appears as a visible field in Outlook or Outlook on the web address book views depends on the address book template configuration. In Exchange Online, it is not available unless synchronized via a custom Entra Connect rule.