Building the DEC LH AD Workshop VMs

This post is a continuation of Building the DEC LH AD Workshop VMs. In this segment, I'll walk through how to initially create the virtual machines that we used in the DEC Longhorn AD Workshop. We used VMWare ESX in Las Vegas, but I'll describe how to do it using Virtual Server, assuming that most of you have access to the Microsoft products.

First, you need to get the appropriate installation ISO files for Windows Server 2003 R2 and Longhorn Server Beta 3 (we used the February CTP for Longhorn in Vegas, but I figure we may as well upgrade to the latest and greatest.). I assume you can find the WS2K3R2 images on your own. You can get the eval LH ISOs here.

We're going to create four virtual machines, as follows:

  • ANEMONE is the Windows Server 2003 R2 server
  • SCHOOL is a full install LH x86 server
  • OPERAHOUSE is a Server Core install LH x86 server
  • SHARKBAIT is a full install LH x64 server (but because this is on Virtual Server, we have to make it an x86 install)

This post describes how to build the image for ANEMONE.

An anemone is a kind of sea animal that lives on rocks and has many arms with stingers on them. Its pronounced a-NEM-o-NEE. But after about 30 straight hours of trying to get our virtual labs running on the DEC hardware, we were pretty punch-drunk, and it became AIN-moan. I don't really know why, but at the time we found that extremely funny.


  1. Create a VM named ANEMONE and create the associated hard disk. The amount of memory you configure is up to you, but it doesn't have to be a lot. 256M should work fine. Make sure it has a network card connected to the physical NIC. Using Undo disks would be wise, though not required.
  2. Mount the WS2K3R2 CD #1 and boot the image.
  3. Format the single C: drive for NTFS.
  4. Enter an appropriate product key when prompted.
  5. Use US English for locale.
  6. Set timezone to US Mountain Standard Time.
  7. Use default networking configuration.
  8. Set machine name to "anemone", and leave it as a workgroup server.
  9. After reboot, mount disk 2 of the R2 installation set.
  10. Continue the R2 Setup Wizard.
  11. Activate when prompted.
  12. Run the Windows Update software.
  13. Download and install the current high-priority updates and reboot.
  14. Dismiss the Server Roles wizard and check the box so that it will not start on each reboot.
  15. Install the Virtual Machine Additions, using the Typical settings, and restart the VM, and log in.
  16. Enable Remote Desktop.
  17. Make sure Windows Firewall is disabled.
  18. Set the screen resolution to 1024x768x16.
  19.  Disable the screen saver.
  20.  Disable automatic updates.
  21.  Install the support tools from the CD.
  22. Copy the entire \Workshop directory structure from wherever you shared it to the C:\Workshop directory of the VM.
  23. In the C:\Workshop\PreImage\Scripts folder, run Anemone-DCPROMO.CMD. You may have to mount an ISO image to complete the DCPROMO. If you are prompted to change the dynamic IP address to a static address, you can ignore it. The IP addressing is handled by the startup script, as I'll discuss later.
  24. After reboot, in the C:\Workshop\PreImage\Scripts folder, run Configure-ALL.CMD.
  25. At this point the image will restart itself. When the machine restarts (it should do so automatically), it will be a domain controller in the pacific.lan domain.
  26. Login to anemone using pacific\administrator, using the password "dec2007".
  27. Run the script C:\Workshop\Post-DCPROMO.cmd. It will first display a list of scripts to run and wait for you to press Enter. Go ahead and do so. Ignore the error about configure.out not being present; it will be created automatically.
  28. When prompted, take all the defaults for the installation of the .Net 2.0 framework. After the script installs the framework, it will appear to pause for a bit; don't worry, it is installing PowerShell, and there is no visible evidence that anything is happening.
  29. After the script installs PowerShell, it will run the joeWare tools to build out the Active Directory structure, and when it is all done, it will delete all the files it will not require for the workshop.
  30. When prompted, press Enter, and the image will automatically shut down. DON'T RESTART THE IMAGE! There are a couple of more things we have to do before you can run the image properly.
  31. Once the image has shut down, merge the undo disks (if you had configured undo disks), and save a copy of the .vhd file "just in case".

A note about network configuration

One of the interesting problems we had to overcome when building the LH AD lab environment was how to properly assign IP addreses to the virtual machines. I won't go into all the gory details of the problem, other than to say that we had to use multiple copies of the same four virtual images AND the IPs of all the VMs had to have different static IP addresses while maintaining proper subnetting within the virtual environment AND the VMs had to coexist on the external network so that clients running the terminal services client could access them. Its an interesting problem, and I'll describe our solution in detail later. For now, suffice it to say that we use the MAC address of the virtual machine (which is configurable through Virtual Server) to determine the proper IP address for the VM.