How to view, set, and manage the msExchHouseIdentifier attribute in Active Directory

Last updated on:

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.

msExchHouseIdentifier at a glance

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.

What msExchHouseIdentifier is used for

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:

  • Exchange on-premises contact records: Organizations that maintain mail contacts in an Exchange address book (for example, external partners, customers, or vendors) may populate msExchHouseIdentifier to store a building or house number that does not fit cleanly into the standard street address fields.
  • Directory synchronization and migration: When migrating from Exchange on-premises to Exchange Online or Microsoft 365, directory synchronization tools may carry msExchHouseIdentifier values forward if they were set on source objects. Auditing for unexpected populated values is a useful pre-migration hygiene step.
  • HR and provisioning system integration: Some HR system connectors write building or campus identifiers into msExchHouseIdentifier as a convenient free-form field for location data that does not map to any standard postal address attribute.
  • Legacy address book exports: Older tools that export the Exchange Global Address List (GAL) to CSV or LDIF may include msExchHouseIdentifier as a column, requiring it to be handled correctly on re-import.

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.

  • ADUC
  • PowerShell
  • ADManager Plus
  • Troubleshooting
  • FAQ
 

How to manage msExchHouseIdentifier using ADUC

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.

  1. Open ADUC (dsa.msc).
  2. From the menu bar, select View > Advanced Features.
  3. Navigate to the user or contact object. Right-click and select Properties, then select the Attribute Editor tab.
  4. Scroll to msExchHouseIdentifier in the alphabetical list. The current value appears in the Value column. A value of <not set> means null.
  5. Click Edit. Enter the string value (up to 128 characters). Click OK twice to commit.
  6. To clear the attribute, click Edit, select the value, click Clear, then click OK twice.

Limitations of ADUC

  • No bulk operations: Each object must be edited individually. ADUC provides no mechanism for setting msExchHouseIdentifier across multiple users or contacts simultaneously.
  • No input validation: The Attribute Editor accepts any string up to 128 characters without warning if the value exceeds the Exchange MAPI field conventions. Values longer than 128 characters will be rejected by the directory with a constraint violation error.
  • No audit trail: ADUC does not log who changed the value or what the previous value was. Directory Service Changes auditing via Group Policy is required for change tracking.
  • Not surfaced on contacts natively: For contact objects, the standard ADUC contact properties dialog does not include msExchHouseIdentifier in any tab. The Attribute Editor is the only ADUC path for both users and contacts.

How to manage msExchHouseIdentifier using PowerShell

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.

Read the current value for a user

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.

Read the current value for a contact

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 a value on a user

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.

Set a value on a contact

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.

Clear the attribute on a user

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.

Bulk set from CSV

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.

Report all users with msExchHouseIdentifier populated

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.

Report all contacts with msExchHouseIdentifier populated

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.

Common PowerShell errors

  • A parameter cannot be found that matches parameter name: You used -HouseIdentifier or another shorthand. The attribute has no named parameter on Set-ADUser. Always use -Replace @{msExchHouseIdentifier = 'value'}.
  • The specified directory service attribute or value does not exist: The attribute name is misspelt. It is msExchHouseIdentifier with a capital E, capital H, and capital I. Check casing carefully.
  • A constraint violation occurred: The string value exceeds 128 characters. Trim the value and retry.

Limitations of PowerShell

  • No contact-specific cmdlet: PowerShell has no Set-ADContact or Get-ADContact cmdlet. Contact objects must be managed via Get-ADObject and Set-ADObject, which requires specifying the full filter and search base.
  • No validation against Exchange conventions: PowerShell accepts any string up to 128 characters. If you intend the value to match an Exchange MAPI field, you are responsible for ensuring the data format is consistent.
  • Not synced to Exchange Online by default: In hybrid environments, msExchHouseIdentifier is not part of the default Microsoft Entra Connect attribute set. Values set on-premises will not appear in Exchange Online or Microsoft Entra ID unless you configure a custom directory extension sync rule.

How to manage msExchHouseIdentifier using ADManager Plus

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.

Configure msExchHouseIdentifier as a custom attribute

  1. Log in to ADManager Plus.
  2. Navigate to Admin > Custom Settings > LDAP Attributes.
  3. Click + Add Attribute.
  4. Enter msExchHouseIdentifier in the LDAP Name field.
  5. Enter a display label such as House / Building Identifier in the Display Name field.
  6. Select Unicode String as the Data Type.
  7. Under Associated Reports, map it to User reports so the attribute appears as a column in custom user reports.
  8. Under Associated Management, map it to User Modification so it appears as an editable field in the user properties screen.
  9. Click Add to save the configuration.
Adding msExchHouseIdentifier as a custom attribute in ADManager Plus.

Set or update for a single user

  1. Navigate to Management > User Management > Modify Single User.
  2. Search for and select the user account.
  3. Go to the Custom Attributes tab and locate House / Building Identifier.
  4. Enter the value (up to 128 characters).
  5. Click Update User to apply.

Bulk update via CSV

  1. Navigate to Management > Bulk User Modification > Custom Attributes.
  2. Enter msExchHouseIdentifier in the LDAP Name field.
  3. Set Data Type to Unicode String.
  4. Enter the value to apply in the Value field (for example, Building 4). This single value will be applied to all matched users.
  5. Under Show Users List, select the domain and OU scope, then select CSV Import.
  6. Upload a CSV containing the sAMAccountName values of the accounts to update.
  7. Click Search, review the matched users, then click Apply.
Bulk updating msExchHouseIdentifier via CSV import in ADManager Plus.

Apply via user creation templates

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:

  1. Navigate to Management > User Templates > User Creation Templates.
  2. Edit or create the relevant template.
  3. In the Custom Attributes tab, set a default value in the House / Building Identifier field or leave it as a required field for the provisioner to fill in.
  4. Save the template. All users created from this template will have msExchHouseIdentifier set automatically.

Report on msExchHouseIdentifier values

  1. Navigate to Reports > Custom Reports and click + New Custom Report.
  2. Select User as the object type.
  3. Add House / Building Identifier as a column alongside sAMAccountName, Display Name, and Office.
  4. Optionally apply a filter for accounts where House / Building Identifier is not empty to inventory only populated records.
  5. Save and schedule the report for automated delivery.

Delegate msExchHouseIdentifier management to non-admins

To allow a facilities coordinator or HR system integrator to update building and house identifiers without broader AD write access, use help desk delegation:

  1. Navigate to Delegation > Help Desk Roles and click + Create New Role.
  2. Enter a Role Name and Description.
  3. Under User Attribute Privileges, select House / Building Identifier for write access.
  4. Save the role and assign it to the operator, scoped to the relevant OU.

Security and access considerations

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.

  • Access control: Write access requires standard AD user-write rights, typically held by Domain Admins or delegated help desk operators. No special Exchange permissions are needed to set this attribute directly via AD tools. If your environment has delegated write permissions on the Personal Information property set (which groups standard address attributes), those permissions do not automatically extend to msExchHouseIdentifier, since it is an Exchange-prefixed attribute. Delegation must be configured separately if needed.
  • Data privacy: Building and house identifiers can in combination with other address fields constitute personally identifiable information under the GDPR, the CCPA, and similar frameworks. Review your data retention and access policies if populating this attribute for individual users rather than mail contacts.
  • Pre-migration hygiene: Before migrating to Exchange Online or Microsoft 365, audit for populated msExchHouseIdentifier values. Because the attribute is not included in the default Microsoft Entra Connect sync set, any values set on-premises will not appear in Exchange Online without a custom sync rule. Decide whether the data should be migrated, cleared, or mapped to a different attribute before cutover.
  • Auditing changes: Changes to msExchHouseIdentifier generate a Directory Service Change event (event ID 5136) when Directory Service Changes auditing is enabled via Group Policy. Enable auditing for this attribute if your compliance requirements mandate tracking changes to address-level user data.

Troubleshooting

  1. msExchHouseIdentifier does not appear in the Attribute Editor.

    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.

  2. Get-ADUser returns null for msExchHouseIdentifier even though a value is visible in the Attribute Editor.

    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.

  3. A constraint violation error appears when setting the attribute.

    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.

  4. The value is set on-premises but does not appear in Exchange Online or the Microsoft 365 GAL.

    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.

  5. Set-ADObject returns cannot find an object with identity when targeting a contact.

    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.

Manage msExchHouseIdentifier and every AD attribute from one console

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.

Related attributes

  • streetAddress: This stores the full street address line for a user or contact. The more commonly populated companion to msExchHouseIdentifier for postal address data.
  • physicalDeliveryOfficeName: This stores the office or building name as displayed in the AD address tab and Exchange address book. Often used alongside msExchHouseIdentifier in Exchange contact records.
  • postalCode: This stores the postal or ZIP code for a user or contact. Part of the standard address attribute cluster that msExchHouseIdentifier supplements.
  • l (locality/city): This stores the city or locality. Surfaced natively in the ADUC address tab, unlike msExchHouseIdentifier.
  • mail: This stores the primary SMTP email address. The most commonly managed Exchange-related attribute on user and contact objects, and a natural companion attribute when working with Exchange address book contacts.

Frequently asked questions

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.

Manage msExchHouseIdentifier and any AD attribute at scale with ADManager Plus

The one-stop solution to Active Directory Management and Reporting
Email Download Link Email the ADManager Plus download link