Just thought I'd add a note about backing up local machines. I think that's generally the wrong approach, and an indication that you might have set up your infrastructure incorrectly. Now I might be wrong, as I do not know your setup exactly, and I do not even know what OS your clients run on.
But, if they are windows, you really should map "my documents" and the desktop to a network drive on a file server. That's best practice in such environments (yaheee, Active Directory), it's done with GPOs and Folder Redirection.
I've set this up more than once and it works quite well. Backups while machines run can be done with Volume Shadow Copy Service. Etc ...
If your clients run on *NIX, use NFS. But data should be stored in a central location, preferably on a server with at least mirroring RAID (depends on the $$$, but you RAID1 is cheaper than data loss ...).
As for your requirements:
- You can script AD backup, but I would generally make sure to have it documented properly and that your domain controllers are redundant. Have you ever tried using a backup to reinstall an Active Directory-enabled domain controller? Ugh ... the pain, the headaches ...
- ntbackup can store registry data and system state
- If you use Volume Shadow Copy Service, you should even be able to back up DBMSs while they are running if the data on disk is in a consistent state, but you'd have to consult the DBMS's docs on this. I'd script this, use ntbackup.
- Exchange server .. tough one. use ntbackup or, if you want to buy something, try veritas (symantec) or tivoli.
- Macs .. you can get those on a windows fileserver! Really! Try it, tell them to store their shit there, and back up only their data ;-)
Try ntbackup for the windows stuff. Do full backups daily and rotate them every week, and do a weekly backup that you'll keep on top of that. That's my suggestions but I don't know your setup well enough. Apologies if it's not applicable to your environment :-)
Johannes