Some people are thinking that ADS is the acronym of Active Directory Services. I don't like that - it was used during and right after the Windows 2000 beta - however I haven't heard a official reference lately and I don't like it. Active Directory is not a service, and not a suite of services. Sure, some services provide some of the functionality of the Active Directory, like DNS is used to locate resources and the File Replication Services (FRS) are replicating Sysvol (usually Scripts and Group Policies). However as of today the Directory Service itself is not a Windows Service, and so I dislike referring to Active Directory as ADS.
However, I want to talk about ADS right now - Automated Deployment Services. This is a pretty interesting product - and actually free to customers who have a Windows Server 2003 Enterprise Edition license. ADS is made for installing multiple Servers. It works like Remote Installation Services via Network Boot Request (PXE), but ADS is much more powerful and configurable. The top feature of ADS is that it is providing multicast deployments, meaning that it's installing multiple servers at the same time and the image is traveling over the network just once instead of once per installation-client. You are also able to control the systems: if you install a service on the servers they also connect to the ADS-Server and fulfill the jobs they are supposed to.
In the ADS-Console you are usually running jobs, which are designed by a sequence editor. A sequence is a XML-File which defines which commands are run in which order. For example to deploy a server you can define a sequence to reboot first, go via network service boot request into the deployment agent (a small bootable Windows Server 2003 image which takes the further commands to capture, deploy or modify the machine), and then deploy an image (which was prepared using sysprep). After the image is on the installation-client the job is also able to change the answer-file for sysprep to contain the right IP-Adress, Computername or whatever you want. You are also able to change the registry-files (there's a command for offline-editing the registry), then reboot and change the default behavior of the machine to boot to harddisk (which is also a PXE-Image which redirects the boot to the harddisk). There are multiple options available in the sequences - you are also able to run any command either on the client or on the ADS-Controller, or you can create a floppy-image and instruct the client to boot from this image. Everything you have to do in the ADS-Console, like adding clients, taking control of them, defining their default jobs, adding them to computer sets, running a job and so on is also scriptable - the help provides the reference for every command, and everything is doable via a batch script.
ADS is only supported to install servers, however it also works for clients (I've tested that to roll out a classroom). The installation of the classroom took me only about 20 minutes.
However it's not that easy to get started - but that's mainly Hardware. What I've run into:
- Don't change the IP of the ADS-Server or you'll have to change it in every service of ADS in the registry.
- If the install client supports 100Mbit, and the ADS-Server only 10Mbit, you are running into a timeout.
- If you change the network you might need to reboot the clients or the server.
- If the clients support 100Mbit, but they are connected to a switch or hub which only supports 10Mbit, they are able to load the Deployment Agent, but they are unable to connect to the ADS-Server afterwards (and therefore not able to capture or deploy an image).
Another thing: ADS does not need a DC or DNS - you are able to run ADS on a standalone Machine, you only need DHCP. The traffic of ADS is encrypted by default, ADS is using a certificate on the server for that purpose.
The last thing I learned the hard time (just got back from work at 11pm and wasn't able to go to the gym what I was looking forward to): Don't rely on your hardware unless you have tested it already (installation clients, ADS-Server and Network equipment in between), and don't start installing to late. I already tested the installation-client and the server, before installing the classroom, but due to a 10Mbit hub in the classroom I had to get my small 4-port hub as replacement for the installation and install in multiple shifts.