The Cliff Notes on System Attendant (MAD.EXE)
Published Jun 09 2005 01:11 PM 7,505 Views

The Exchange System Attendant is a multi-faceted and sometimes mysterious service.  To remove some of the mystery & hopefully provide a bit of clarity to MAD here are the cliff notes version of what it actually does.

Initialization and Tasks

1. Binds to Domain Controller upon startup

a. Uses ADSI to do a server-less binding to find a DC
b. Temporarily binds to GC for tasks like proxy generation

2. Loads various Exchange components upon startup

a. DSAccess, DS Proxy, DS2MB, etc...

3. Has various background tasks

a. Example:  verifies machine account is present in the Exchange Domain Servers

Inventory of Functions in MAD

1. DSAccess (Directory Service Access) - dsaccess.dll

a.      Builds a list of available Domain Controllers (DCs) that will be used by Exchange
b.      proxies LDAP queries from multiple components to the AD and maintains results in cache for a better overall system performance
c.      Other components besides MAD can load & initialize DSAccess

2. DS2MB (Directory Service to Metabase Update Service) - ds2mb.dll

a.      Mainly replicates protocol settings from the active directory to metabase
b.      Also creates exchange application pool & adds Exchange virtual roots to application pool in upgrade scenarios to Windows 2003 to support IIS6 Dedicated App Mode

3. RUS (Recipient Update Service) - abv_dg.dll

a.      Proxy generation - Bases proxyAddresses attribute for users on recipient policies, calls MAD to evaluate recipient policies & generate proxies
b.      Address List  - stamps showInAddressBook attribute on users/distribution lists

4. DSProxy (also known as DS referral) - dsproxy.dll

a.      Relays all "MAPI to DS" communication for older MAPI clients

5. Offline Address List - Oabgen.dll

a.      Set of address lists in files that are created and stored on an offline address list server

6. Free/Busy - madfb.dll

a.      Mad Free/Busy (MADFB) is used by OWA to publish free/busy
b.      Store extracts free/busy from client’s calendar and sends messages to System Attendant mailbox
c.      MADFB picks up messages and publishes to free/busy public folder

7. Mailbox Manager - logic in MAD

a.      Used to enforce corporate message retention policies & manage information store size
b.      Mailbox Manager Task  runs every 15 minutes to see if the schedule information indicates it needs to call the mailbox clean task

8. Monitoring - logic in MAD

a.      System Attendant monitors server resources based on an interval
b.      Updates the routing table via WMI based on current status

9. RPC-HTTP Polling - logic in MAD

a.      RPC-HTTP polling thread to configure FE & BE (added in exchange 2003 SP1)

- Amanda Langowski

4 Comments
Version history
Last update:
‎Jul 01 2019 03:06 PM
Updated by: