This article applies to Exchange 2010

Every mailbox object in Exchange has a series of fields called custom attributes.  These can be found by right-clicking on a mailbox in the Exchange Management Console, choosing properties and then clicking on the custom attributes button in the bottom right-hand corner of the window.
custom attribute
There are 15 unique attributes that can be used for whatever your needs are.  So you ask, what might I use custom attributes for?  Within Exchange Role-Based Access Control (aka RBAC) there are some user-based policies that require use of a unique custom attribute.  Additionally, if you are going to setup custom Address Lists you may also want to base your list on a unique custom attribute.

[wp_ad_camp_1]

Set Custom Attribute for multiple users:  So in order to set this up, you will want to put together a similar Powershell script; however, customize the file path to your environment and then save this as a .ps1 file.  This should be run via the Exchange Management Shell.

$data = get-content “c:\pathtotxtfile\distros2.txt”
foreach($a in $data)
{
Set-Mailbox -Identity $a -CustomAttribute1 attribvalue
}

As for the text file be sure the names in your text file are in the following format with as many names as you require.  Then execute the script to modify the attribute of your choice.

Lastname, firstname
Lastname, firstname

Add a custom attribute for an individual user: Run the following command within the Exchange Management Shell

Set-Mailbox -Identity “lastname, firstname” -CustomAttribute1 attribvalue

Remove the custom attribute manually for an individual user:

Set-Mailbox -Identity “lastname, firstname” -CustomAttribute1 “”