Welcome to Exchange Team Blog Sign in | Join | Help

Syndication

This Blog

The Cliff Notes on System Attendant (MAD.EXE)

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

Published Thursday, June 09, 2005 11:11 AM by Exchange
Filed Under: ,

Comments

 

Sri said:

Thanks for the info, I hope to see these kind of posts for all the core exchange services in future..

I have a question related to SA and WMI,
Apart from updating routing table thru WMI does SA uses WMI for anyother functions ?

Thanks

June 9, 2005 3:38 PM
 

The Lazyadmin.com said:

Very informative posting over at Exchange Team Blog on the System Attendant service, aka MAD.EXE.

"The Exchange System Attendant is a multi-faceted and sometimes mysterious service. To remove some of the mystery & hopefully provide a bit of clarity
June 13, 2005 1:40 PM
 

subject: exchange said:

June 14, 2005 12:26 PM
 

Amanda said:

Per the question on WMI & SA...
MAD only uses WMI for monitoring.
Essentially, MAD makes WMI calls to get the state of the CPU, Memory, etc... and then makes a WMI call to update the routing table.
June 14, 2005 1:18 PM
 

Windows Server Clustering said:

June 14, 2005 4:28 PM
 

Windows Server Clustering said:

June 28, 2005 2:48 PM
 

Eric said:

I have a question about dsaccess:
does the process really make a discovery of the availaible DC or he retreive the list from Active directory ?
July 1, 2005 5:09 AM
New Comments to this post are disabled

News


This blog and its contents are provided "AS IS" with no warranties, and they confer no rights. Use of any included script samples are subject to the terms specified in the Terms of Use.
New! Would you like to suggest a topic for the Exchange team to blog about? Send suggestions to us.

Exchange Server 2010 - Get the Release Candidate



Poll:

Other Exchange Blogs from MSFT