Microsoft is definitely making progress on its Virtualization line-up. Yesterday they released the Release Candidate 1 (RC1) bits for Windows Server 2008 Hyper-V to supersede the Release Candidate 0 (RC0) bits, many of us might already be running.
Now is the right time to start testing Hyper-V if you haven't already begun doing so. This release Microsoft states is feature complete. You might also recall Microsoft stating upgrading from RC builds of Hyper-V RC to RTM would be seamless. I guess August 2nd is also still in the picture.
Just like with the release of the RC0 bits, Microsofts announcement follows on a VMWare announcement. VMWare announced stating that they've created a certification program for thin client vendors and expanded their offerings for the virtual desktop market. They also introduced a new joint desktop WAN solution for thin clients in conjunction with Sun Microsystems.
What's new
I feel Microsoft really listened to feedback from people working with the Beta and RC0 bits, because RC1 now supports Windows 2000 (with Service Pack 4) as guest operating system. A feature much of our Penguin-loving friends will like is the mouse integration support, which is available for Hyper-V RC1 as a separate download from connect.microsoft.com.
Furthermore
Taylor Brown posted some issues you might encounter when installing RC1. I suggest you read them before upgrading and/or before expecting to much. (most notable: SCVMM2008's incompatibility)
Download
Update for Windows Server 2008 x64 Edition (KB950049)
To manage Windows Server 2008 Hyper-V from Windows Vista install the updated Management Console to enable remote management of a Windows Server 2008 computer running the Hyper-V RC1 role:
Further reading
Hyper-V RC1 Arrives, VMware Expands Pro Services
MSDN and TechNet Powered by Hyper-V
Microsoft Hyper-V RC1 released
Hyper-V RC1 Release Available on Microsoft Download Center
Hyper-V RC1 Release Available on Microsoft Download Center!
Hyper-V RC1: Here we go...
Hyper-V RC-1 available for download
Windows Server 2008 Hyper-V RC1 now available for download
Industry Buzz about Hyper-V
Hyper-V: RC1 is released - not long to wait now
Look no further. Quest Software’s Dmitry Sotnikov has got .Net Framework 2.0 and Powershell 1.0 running on Server Core installation of Windows Server 2008. I know this is something a lot of people have been asking for, but the best way to describe my feelings at this moment is ambiguous.
Why it's been left out in the first place
There are reasons Microsoft didn't include the Visual C++ Redistributable Package, the .Net Framework and Powershell in Server Core. I've described these reasons before.
It compromises the small footprint and the lightweightedness of the system. Since 1 GB is the goal for the hard disk footprint the .Net Framework is out of the question. Besides: Server Core is supposed to be the low-maintenance Server Operating System. I don't want it to reboot every second Sunday night of the month to install yet another Hotfix, Rollup, Service Pack or any other newer version of the .Net Framework...
Why this is not a good thing
First, this is an unsupported configuration. Running an unsupported configuration of software components might get you in problems pretty fast. Let's take a look on Jeffrey Snover's point of view:
Just to be clear, this is not a MSFT supported configuration. That does NOT mean that we think it won't work. What it means is that if it doesn't, you have to leverage the community to help you figure it out instead of Microsoft support. [Insert your favorite snarky remark here] :-)
Second, since Dmitri's main focus was to make Powershell running most of the actual .Net Framework functionality is missing. Server Core doesn't offer all the Win32 API's needed all the .Net classes. Powershell indeed runs without errors
Third, making the .Net framework available on Server Core installations of Windows Server 2008 doesn't begin to unlock the potential of the .Net framework. You still can't get ASP.Net running within Internet Information Services (Who's up for that challenge?) and you still can't utilize Server Core in more advanced Infrastructure scenario's, like anExchange Server 2007 Edge Transport server...
Four, there is no indication (at all!) you will actually receive updates for .Net framework on Server Core installations of Windows Server 2008. I don't know the flowchart for the Windows Update processes for Server Core, but I don't expect a check for the installation of the .Net framework. In my opinion the .Net framework is the most cumbersome component of Windows to keep up-to-date... Good luck with that!
Why this is a good thing
Having Powershell on Server Core installations of Windows Server 2008 provides an unified way of managing your Windows systems throughout your complete environment.
It's more likely you're going to implement your Server Core boxes inside a legacy environment, than implement them inside a new Windows Vista, Windows Server 2008 only environment.
I'll try to explain the 'Next Generation IP Stack' which was introduced with Windows Vista and is also present in Windows Server 2008, both in Full and Server Core installations. I'll show you how to tweak down some default global TCP settings, that are part of what Microsoft calls the "Scalable Network Initiative".
Tweaking down will ensure you can access your Server Core boxes without delays from Windows 2000, Windows XP and Windows Server 2003.
The stuff in this post will also be very useful when you deploy Server Core inside a networking environment based on 100Mb/s (or slower) infrastructure, since most of the default tweaks in the "Scalable Network Initiative" assume you have a Gigabit Network Interface Controller.
Note:
For copper-based Network Interface Controllers Windows Server 2008 ships with Gigabit Network Interface Controller drivers only. When you want to use your 10Mb/s or 100Mb/s Network Interface Controllers with Windows Server 2008 you need to manually add drivers.
Default settings
The default settings for the Transmission Control Protocol (TCP) part of TCP-IP are easily readable in Server Core installations of Windows Server 2008.
The command to use is:
netsh interface tcp show global
This will show you the settings for:
| Parameter | Default value |
| Receive-Side Scaling State | enabled |
| Chimney Offload State | enabled |
| Receive Window Auto-Tuning Level | normal |
| Add-On Congestion Control Provider | ctcp |
| ECN Capability | disabled |
| RFC1323 Timestamps | disabled |
Receive-Side Scaling
Receive-Side Scaling is a technology which allows a Windows Vista and later Microsoft Operating Systems to utilize multiple processors to handle the network stack. Technically it allows large file transmissions to be processed in a parallel manner. Packets are balanced between your processors (or cores) through the use of a software hash codes and hardware hash codes for each connection.
The origin or Receive-Side Scaling
In our multi-core and even multi-processor systems not having Receive-Side Scaling might mean one processor would be utilizing 100% CPU, while the other would be virtually doing nothing. In the case of a File Server you might want both processors to be used and the load to be balanced.
The problem with Receive-Side Scaling
The problem with Receive-Side Scaling is it's susceptible to packets that were changed before they were received. The hashes don't match in that case and the connection is dropped. Microsoft acknowledges this is a problem when NAT, ICS, ISA Server or other firewall products are used. If your anti-virus software includes a firewall (and most do) this might present a problem.
How to turn of Receive-Side Scaling
Using the command line
To turn off Receive Side Scaling on your Server Core installation of Windows Server 2008 simply type the following command:
netsh interface tcp set global rss=disabled
Using the registry
Alternatively you can edit the settings for Receive-Side Scaling in the registry, although this will require a reboot, since the values to modify exist or need to exist in the following place in the registry:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
By default you wouldn't find a REG_DWORD value for EnableRSS in this registry key. If you want to disable Receive-Side Scaling though, you need to create it manually. After you created the new value you can set the data to 0, which means disabled. If the value is not present, create it. If you decide to enable it afterwards you can change the value to 1, which meant enabled.
For more information on Receive-Side Scaling please read the Scalable Networking with RSS Whitepaper on the Microsoft Website.
Chimney Offloading
TCP-IP Chimney Offloading is a pretty neat technology that takes advantage of the current generation (Gigabit) Network Interface Controllers that have been equipped with a TCP Offload Engine (TOE). These Network Interface Cards are capable of managing connections and traffic on their own. By offloading a lot of calculations of this traffic from the CPU to the Network Interface Card (NIC) you can use your CPU to calculate other things.
The word chimney is derived from the Chimney Architecture and finds its origin in the (OSI) Stack. The purpose of the chimney is to isolate traffic between the top and the bottom of the chimney. Vents in the chimney (that is, special function calls for manipulating the offloaded control plane) allow the host stack to query, update, invalidate, and terminate the offload state.
Microsoft has acknowledged some problems with Chimney Offloading.
How to turn off Chimney Offloading
Using the command line
If you don't have a Network Interface Card with a TCP Offload Engine (TOE) or just want to ensure proper network traffic flow you can disable TCP Chimney Offloading using the following command:
netsh interface tcp set global chimney=disabled
Using the registry
To disable Chimney Offloading using the registry you can browse to the following key:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
You should see a REG_DWORD registry value named EnableTCPChimney. The data for this registry entry would read 1 by default, which would mean enabled. To disable TCP Chimney Offloading change the data to 0, which resembles disabled. If the value is not present, create it.
You need to reboot your Server Core box to make your registry changes take effect.
Receive Window Auto-Tuning
When you have a broad network connection you might want to use it efficiently and that is exactly what the IETF had in mind when they worked on RFC 1323 back in 1992. One of the new things in RFC 1323 is Receive Window Auto-Tuning, which allows the receiving end of a TCP connection to advertise a larger 'window' in TCP-IP packets to transmit data in. This allows for a higher percentage of data in relation to headers in TCP-IP packets, increasing the effective bandwidth on these connections.
There are 5 modes for Receive Window Auto-Tuning:
- Disabled
Fix the receive window at its default value. (65535 bytes)
- HighlyRestricted
Allow the receive window to grow beyond its default value, but do so very conservatively.
- Restricted
Allow the receive window to grow beyond its default value, but limit such
growth in some scenarios.
- Normal
Allow the receive window to grow to accomodate almost all scenarios.
- Experimental
Allow the receive window to grow to accommodate extreme scenarios.
WARNING: This can dramatically degrade performance in common scenarios and should only be used for research purposes.
Unfortunately not every device has RFC 1323 implemented in a way that allows compatibility. Microsoft mentions examples of these devices inside KnowledgeBase Article 934430.
How to turn of Auto-Tuning
To disable Receive Window auto-Tuning on your Server Core installation of Windows Server 2008 type the following command:
netsh interface tcp set global autotuning=disabled
Alternatively you can choose one of the remaining 3 modes for Receive Window Auto-Tuning to change the default 'normal' setting. Setting Receive Window Auto-Tuning to 'Restricted' should best fit your situation.
Concluding
In Windows Server 2008 the Network Interfaces are tweaked by default. You can change a couple of global settings to undo these tweaks so you can enjoy Windows Server 2008 inside legacy networks. To do so, issue the following commands:
netsh interface tcp set global rss=disabled
netsh interface tcp set global chimney=disabled
netsh interface tcp set global autotuning=disabled
Further reading
Microsoft Whitepaper - Scalable Networking with RSS
Microsoft Whitepaper - Introducing TCP Chimney
Scalable Networking Pack: Frequently Asked Questions
You cannot host TCP connections when Receive Side Scaling is enabled
A Windows Server 2003-based computer may stop responding during shutdown
"General Network error," "Communication link failure,", "A transport-level error"
Network connectivity may fail when you try to use Windows Vista behind a firewall device
When putting a Vista computer on a SBS 2003 network
Find your bandwidth in Vista really slow? Here is a simple hack for you
Vista: TCP window scaling not compatible with some network hardware
Network connectivity may fail when you try to use Windows Vista behind a firewall device The Complete Windows Vista vs. Windows XP Networking Performance Comparison
A server running a Server Core installation of Windows Server 2008 could behave flaky from time to time. Monitoring it gives clues towards this behavior and/or provides insight in why it behaves flaky. I've taken a closer look at monitoring Server Core boxes from the command line and want to share my experiences with you on this matter today.
Task Manager
The Task Manager is a perfect utility to monitor your Server Core in a way that has been familiar since Windows 95. You can start it in any of three ways:
- Press the Ctrl, Alt and Del keys at the same time and select Start Task Manager from the list.
- Press the Ctrl, Alt and Esc keys at the same time
- Type taskmgr.exe on the command prompt
It can be used to monitor:
- Running applications and tasks
- Processes
- Services
- Performance (CPU and RAM usage)
- Networking
- Logged on users
The Task Manager is perfect, but unfortunately it lacks on a couple of points:
- It has no logging
- It doesn't include disk space monitoring
This is on full installations of Windows Server where the Performance Monitor comes in.
Performance Monitor
The graphical version of the Performance Monitor is not part of Server Core. Fortunately there is a command line driven version available, which can be used to monitor your Server Core box from the command line. It's called logman.exe
Even though logman.exe is a command line tool it's a really impressive monitoring tool, since it can collect counter, trace, alert, configuration and API tracing collectors. It supports many functions of Performance Monitor from the command line. The two great things logman.exe lacks are the ability to draw graphs and to point-and-click your queries together.
Selecting counters
To select a counter to monitor using logman.exe you need to know the name of the counter to add. logman.exe however doesn't provide this functionality. Fortunately typeperf.exe does.
To find a performance counter to monitor type the following command: typeperf.exe /q This will display a list with (installed) counters without instances. To list the performance counters with their instances type: typeperf.exe /qx
The list of performance counters is extensive, but using the find command on the output might help narrowing down what you're looking for. For instance, when you're looking for performance counters related to disk, type the following command to display disk-related performance counters:
typeperf.exe -q | find "Disk"
Narrowing down my search criteria, by executing find commands consecutively on the -qx option for typeperf.exe, I finally found the disk-related performance counter instance I was after (\PhysicalDisk(0 C:)\Disk Transfers/sec) using the following command:
typeperf.exe -qx | find "PhysicalDisk" | find "Disk Transfers/sec"
Building the data collector
Now that I found the performance counter I was after I can build the data collector.
My intention is to have a csv file with transfers/sec for the last few days, collected every 5 seconds. Your needs may vary, but the process to build your data collector would be identical.
logman.exe create counter DiskTransfers -f csv -c "\PhysicalDisk(0 C:)\Disk Transfers/sec" -max 10 -si 5
Where:
- DiskTransfers is the name of the data collector within logman.exe
- -f csv specifies the file format of the log for the data collector
- -max 10 specifies the maximum file size of the log file in MB
- -si 5 specifies the sample interval in HH:mm:ss format
Viewing the data collector
Now that we created the data collector we can view the collector. When you start logman.exe without any command line switches it will output defined data collectors and their state. As you'll find out freshly created data collectors are not started automatically.
The properties for a data collector (besides whether it is actually doing anything) can be viewed using the query command line switch. To view the properties of my freshly created data collector (the first on my Server Core box) I used the following command:
logman.exe query DiskTransfers
Starting the data collector
What use is a data collector when it's sitting idle on your box? Let's start it up, so it starts collecting the stuff it is supposed to be collecting by using the following command:
logman.exe start DiskTransfers
Modifying the data collector (if need arises)
After you've created a data collector you can edit its properties by using the
update command line switch. Deleting can be done using the
delete switch. Both commands use the name of the data collector within
logman.exe as their starting point for modification.
Using collected data
While working in black prompt windows might be enough to baffle your co-workers it won't impress your boss much. What will really impress him (or her) is showing you're on top of things by staring endlessly at nifty excel graphs you created within seconds. 
In my case I pulled the DiskTransfer_000001.csv file from the C:\Perflogs\Admin folder of my Server Core box and worked some Microsoft Office Excel magic on it.
Other tools and products
Disk usage (du.exe)
One of the many useful free Windows SysInternals tools is Disk usage (du.exe), which is currently at version 1.3.1. This tool is capable of reporting disk space usage for the directory you specify. By default it recurses directories to show the total size of a directory and its subdirectories.
Using du.exe is as simple as downloading the zip file and unzip it to a location where your Server Core box can reach it. There are several ways to accomplish this. After you've copied it to the hard disk of your Server Core box you can use it in the following manner:
du.exe [[-v] [-l ] | [-n]] [-q] FileOrDirectoryPath
Where:
-l specifies the subdirectory depth of information
-n tells du.exe not to recurse folders (only information on current folder)
-q specifies not to print the banner
-v specifies to show information in intermediate directories
Examples:
du.exe -v -q C:\Perflogs
Note:
The first time you run the utility you need to agree with the End User License Agreement (EULA) before you can use this tool.
While this command will output its information to the prompt it can be told to output to a file. Scheduling the command then might prove useful to monitor disk usage and act proactively on disk usage trends.
Process Explorer
The built-in Task Manager has evolved over the past years. It now includes networking information for instance. Process Explorer is a free Windows SysInternals tool that offers even more realtime monitoring functionality. It can be used to search for thread handles and running DLLs and can explore individual processes: You can see events, files, devices, and registry keys being accessed.
If Process Explorer is one of your favorite tools you can trade in your Task Manager for Process Explorer in the following manner:
- Download Process Explorer (1.6 MB) (currently at version 11.13)
- Unpack the zip file and get the executable onto your Server Core box.
- Open Process Explorer by typing procexp.exe
- Click the button 'Agree' when presented with the End User License Agreement (EULA)
- In the Process Explorer window open the Options menu
- Select Replace Task Manager.
You can now start procexp.exe the same way you would start taskmgr as described at the beginning of this post.
Concluding
The Task Manager (taskmgr.exe) and the Performance Monitor are perfect tools to monitor a Windows installation locally, but unfortunately the latter is not part of Server Core. You can find another tool on your Server Core hard disk that's useful for monitoring though: logman.exe
Further reading
Description of the Windows XP Logman.exe, Relog.exe, and Typeperf.exe Tools
Windows Process monitoring with Windows Process Monitor
Replace Task Manager with the more powerful Process Explorer
Windows SysInternals - Disk Usage v1.31
Windows SysInternals - Process Explorer v11.13
Getting installation files onto Server Core
Monitoring performance from the command line
Four Ways To Open Task Manager
TechNet Forums - Basic Commands for Monitoring Windows 2008
There are a couple of ways to install Windows Server 2008. When you're lucky enough to get your hands on a physical copy of a Windows Server 2008 DVD you can use that, but what if your target system doesn't have a DVD player? What if you want to install it in a different way? What if you wanted to save some time? Read on!
Installation methods
You can install Windows Server 2008 using the following media:
Using the physical DVD
Installing Windows Server 2008 using the Physical DVD is the most reliable, but also the hardest and slowest way to get the Operating System on your box.
It's the most reliable way when you have a pressed (instead of burned) DVD copy of Windows Server 2008 and you received the copy from a legitimate source, for instance your reseller or a MSDN, TechNet, Select or other subscription box. There's only a negligible chance a malicious person would have been able to modify the bits and bytes on the disc.
It's also the hardest way to get the Operating System on your boxes, since you won't have the ability to change the bits and bytes on the media (without getting it off the disc first) which is what you would want to be doing when you know your way around the Windows Automated Installation Kit (WAIK)
I don't recommend using this method when you need to install a lot of Windows Server 2008 machines. I think it's the slowest way to install dozens of servers. If you need to install these amounts of server I suggest you read along.
Using an image
There are multiple ways to get your hands on a Windows Server 2008 image. Microsoft offers a download of Windows Server 2008 in *.iso format with certain subscriptions, such as MSDN, TechNet and Volume License subscriptions. On the other hand you could also rip your Windows Server 2008 DVD to an image with Alex Feinman's ISOBurner. (I use and recommend this tool. Some people seem to prefer WinImage)
Microsoft also offers the bits for evaluation.
While this doesn't sound very appealing to IT Pros who have been around long, let me clarify: Microsoft no longer works with specific media types, bound to specific product key families. In the past you'd need OEM media to work with your OEM product key, VLK media with your VLK product key and trial media were only usable with trial keys. Now you can simply download the media and use any product key to activate it for the scenario the product key allows. (Some minor differences still exist)
An image file can be mounted (for instance with Daemon Tools lite) and burned to physical media.
Virtual deployments
Images are perfect for virtual deployments. You can use the free Virtual PC or Virtual Server products from Microsoft, Microsoft Hyper-V products, Citrix' XenServer products, VMWare Server and VMWare ESX products (among others) to make a virtual box on which you can mount the image file as a virtual DVD and install from there. Since the host machine can read the image from the hard disk this will significantly bring down install times in virtual deployments.
Physical deployments
Having an ISO file of Windows Server 2008 instead of having a physical copy could actually save you a lot of work if you need to deploy dozens of boxes. Using the Windows Automated Installation Kit (WAIK) you can edit the unattend.xml file on the DVD to reflect the input you either need to input manually at every installation. Information you could set in the unattend.xml file include (but are not limited to):
- Administrator password
- Domain Name or Workgroup Name to join
- Computer name
- Drivers
- Installed server roles and features
A complete list is available. After making your own unattend.xml you can easily copy your version over the version in the image. You can then choose to either burn the image or use it for other purposes, like virtual installations.
Hardware redirection
Another way to utilize an image file is to use it with hardware redirection. Dell Remote Access Controller (DRAC), HP Integrated Lights-Out (iLO) and IBM's family of Remote Supervisor Adapters (RSA) are perfect examples. They allow you to connect an image file to the server to function as a virtual CD or DVD drive. The server can then boot from the image file stored locally on your workstation or available remotely on a central resource. You can also insert the DVD disc into your workstation’s optical drive and tell it to use your drive by drive letter. This is one of the preferred ways to install Windows Server 2008 on blade systems without DVD drives.
Using a bootable USB device
If you really need speed to install a couple of Windows Server 2008 boxes I recommend placing the installation files on a high-speed USB Stick.
Hard drives are usually connected to one Host device and USB channels are connected to another host device chip on your motherboard. Installing from an USB device therefor won't hog the host devices for your hard drives (like when using an image) and won't lag like a normal DVD player would do while spinning up and spinning down. When you choose to use an USB flash drive (called an USB stick around here) instead of an USB hard disk (slower) you can achieve lightning speeds. To make your bootable USB device, simply type the following commands on a system with the image mounted or physical DVD copy in the drive and the USB device plugged in:
diskpart.exe
DISKPART> list disk
Select the USB device from the list and substitute the disk number below
when necessary
DISKPART> select disk 1
DISKPART> clean
DISKPART> create partition primary
DISKPART> select partition 1
DISKPART> active
DISKPART> format fs=fat32
DISKPART> assign
DISKPART> exit
xcopy X:\*.* /s/e/f Y:\
where X:\ is your mounted image or physical DVD and Y:\ is your USB
device
Now all you need to do is plug the device into your target box' USB slot and boot it.
(The target system will need to have USB slots and be able to boot from USB devices)
Using the network
There are a couple of ways to install Windows Server 2008 using the plumbing of your internal TCP-IP infrastructure.
Using Windows Deployment Services
Windows Deployment Services is the successor to Remote Installation Services. (RIS)
It was introduced with Windows Server 2003 Service Pack 2. Windows Deployment Services in Windows Server 2008 in contrast to Windows Deployment Services in Windows Server 2003 knows how to multicast, which is a pretty neat feature, which in my opinion makes using Ghost, TrueImage and other imaging solutions obsolete.
The only drawback to using Windows Deployment Services (WDS) is you need an Active Directory environment. While this sounds unlikely even in 2008 you might find networks without Active Directory.
Using the Microsoft Deployment Toolkit
On top of using the Windows Automated Installation Kit (WAIK) and Windows Deployment Services you can use a Solution Accelerator for further guidance. Microsoft offered the Business Desktop Deployment Solution Accelerator (BDD) for clients and is now offering the Microsoft Deployment Toolkit 2008 as a sort of umbrella over the existing deployment tools for Windows Vista with Service Pack 1 and Windows Server 2008. (More information on centrally deploying Windows Vista can be found here)
When used in conjunction with Systems Management Server (SMS Server) or System Center Configuration Manager (SCCM) you can achieve deployments without touching client machines, (zero touch) while preserving client settings and user experience.
Using 3rd party solutions
You can use 3rd party imaging solutions to install Windows Server 2008 over the network. Symantec Ghost for instance offers the ability to image Windows installations, but it doesn't need a Directory solution. It helps when you have a DHCP server though. Using a 3rd party solution might require you to purchase licenses, which might prove costly.
Concluding
This page shows how to install Windows Server 2008 on almost every imaginary box. Not having a DVD player and not having USB ports is no longer an excuse not to install it on a box that meets the minimum requirements.
I've showed you how to do it. I'll finish up with a nice table when to use a specific method:
| Installation method | Use when: |
| Physical DVD | Installing one or two boxes, nothing too fancy... |
| Image file | Installing virtual servers Installing blade servers Transition and Alteration of media |
| USB device | Installing virtual servers or installing multiple servers fast Installing on servers without DVD drives |
| TCP-IP network (WDS) | Installing loads of servers ( > 10) in an Active Directory |
| TCP-IP network (Ghost) | Installing loads of servers ( > 10) in any environment |
Further reading
Installing Windows 2008 via USB thumbdrive
Automated Installation Kit (AIK) for Windows Vista SP1 and Windows Server 2008
Microsoft Deployment Toolkit (MDT) 2008
Business Desktop Deployment 2007
Upgrading to Microsoft Deployment Toolkit (MDT) 2008 - Zero Touch with ConfigMgr 2007
So why doesn't MDT 2008 use PowerShell scripts during an OS deployment?
Installing Windows Server 2008
Pre-Installation Steps for Installing Windows Server 2008
Install Windows over network with PXE
Two ways to circumvent the DVD drive requirement for installing Windows Server 2008
Related reading
Deploying Windows Vista Centrally
Get Windows Server 2008 now
Activating Server Core
A little while ago I showed you how to perform some of the common management tasks on your Server Core installation using the Microsoft Management Console Snap-Ins, available through Computer Management (compmgmt.msc). Last week I showed you how to install Server Roles and Features on top of your Server Core installation.
This time I want to take the opportunity to show you around in the recently released Remote Server Administration Tools (RSAT) which allow you to manage the roles you can install on your Server Core installation of Windows Server 2008.
Contents
Installing RSAT
In order to use the Remote Server Administration Tools (RSAT) you need to download the standalone setup package from the Microsoft Download servers, install the update package and after installation use the Programs and Feature control panel applet to actually install the parts of the Remote Server Administration Tools (RSAT) you'd wish to use.
Fulfilling system requirements
In order to run the Remote Server Administration Tools (RSAT) for Windows Vista you'll need a box with Windows Vista Business, Windows Vista Enterprise or Windows Vista Ultimate installed with Service Pack 1 in one of the languages mentioned below.
Downloading the standalone setup package
While the Remote Server Administration Tools (RSAT) are available in English since March 24th 2008 only a few days ago Microsoft released the RSAT in the following languages:
Like a couple of persons already observed in the TechNet forums: Only 18 of the 36 languages are here. Is Microsoft using it's wave method for distribution again?
Installing the package
Since you're a server administrator (what else would you need the Remote Server Administration Tools for) I won't bore you with how to double click the standalone setup package. (*.msu file) You all know how to download stuff, relocate it, run it and get through the UAC messages, right? If not, just read this Microsoft Knowledge Base article...
Selecting RSAT features
Once you've installed the package you can begin selecting features from the Remote Server Administration Tools using the Programs and Feature control panel applet. Simply:
- Go to the Control Panel and select Programs and Features or begin typing Progra... in the search field of the Start Menu
- Select Turn Windows features on or off in the taskpane.
- Press Continue when you have User Account Control (UAC) enabled
- Scroll down to Remote Server Administration Tools and select the features corresponding to your remote management wishes:
Selecting Applicable Tools
Server Core offers only a subset of the Roles and Features you can install on a Full Installation of Windows Server 2008. The interesting features in the context of Server Core installations of Windows Server 2008 are:
- Bitlocker Drive Encryption Tools
- Failover Clustering Tools
- Group Policy Management Tools
- Network Load Balancing Tools
- Active Directory Domain Services Tools
- Active Directory Domain Controller Tools
- Active Directory Lightweight Directory Services Tools
- DHCP Server Tools
- DNS Server Tools
- File Services Tools
- Distributed File System Tools
- Share and Storage Management Tools
The other tools in the collection of Remote Server Administration Tools (RSAT) do not apply to Server Core installations of Windows Server 2008. When paying attention you might have already seen some management tools are missing. Kurt Roggen compiled a comprehensive list.
Displaying Administrative Tools
By default a Windows Vista box will not display the Administrative Tools in the Start Menu. When you're comfortable with the Administrative Tools folder being accessible through the Control Panel and the Search field of the Start Menu just use those.
To display the Administrative Tools in the All Programs list and/or on the Start Menu follow the steps below:
- Right-click on the Pearl (Start button) and select Properties from the context menu.
- On the Start Menu tab click the button labeled 'Customize' next to the Start Menu (This menu style gives you easy access to your folders, favorite programs, and search.) radio button.
- scroll all the way down in the list.
- Under the System Administrative Tools header select one of the two other options:
- Display on the All Programs menu
- Display on the All Programs menu and the Start menu
- Press OK to close the Customize Start Menu window
- Press OK to close the Taskbar and Start Menu Properties window
Using RSAT
Now that we've managed to install the Remote Server Administration Tools package on our Windows Vista management workstation and made the Administrative Tools folder visible where we can reach it with as little as three mouse-clicks, let's dive into the tools I've been using the most in my Server Core environments:
Active Directory Domain Services Tools
The Active Directory Domain Services tools in the Role Administration Tools folder apply to the Active Directory Domain Services Role. It consist of two tools. Only the Active Directory Domain Controller Tools are of interest for a Server Core Domain Controller. Once installed you should find these tools in the Administrative Tools folder of your Windows Vista box:
- Active Directory Domains and Trusts (domain.msc)
- Active Directory Sites and Services (dssite.msc)
- Active Directory Users and Computers (dsa.msc)
- ADSI Edit (adsiedit.msc)
These tools work largely as you would expect them to on Windows XP to administer a Windows Server 2003 environment. (You can even use the tools to administer a Windows Server 2003 Active Directory environment!) There are a few exceptions though:
Group Policy Management Tools
As you may recall installation of Service Pack 1 for Windows Vista uninstalls the Group Policy Management Console (gpmc.msc). This would have been inexcusable if the Remote Server Administration Tools (RSAT) wouldn't provide a better tool. In fact: The Group Policy Management Tools in the Feature Administration Tools folder for the Remote Server Administration Tools (RSAT) provide the successor to our beloved Group Policy Management Console: Group Policy Management (gpmc.msc)
Although this tool's MMC Snap-In name resembles the Group Policy Management Console it is greatly enhanced with the integration of:
The Group Policy Management Tools are a good companion to the Active Directory Domain Services Tools above and can be used in Active Directory environments.
DNS Server Tools
When you install the DNS Server Tools from the Role Administration Tools section of the Remote Server Administration Tools (RSAT) you find a new shortcut in your Administrative Tools folder called DNS, which points to dnsmgmt.msc. With this tool you can remotely manage your Server Core DNS Server to your heart's content.
Even though the Remote Management Console isn't all that different to the Management Console in the adminpak.msi for Windows Server 2003 there is one major difference between the DNS Server in Windows Server 2003 and the DNS Server in Windows Server 2008: Full IPv6 integration. The Cable Guy has more information.
DHCP Server Tools
The DHCP Server Tool, called DHCP (dhcpmgmt.msc) also received a IPv6 revamp and is now fully ready to serve both IPv4 and IPv6 addresses to clients asking for them. The tool is actually divided into two different DHCP servers you can run (and stop) independently of each other, create and reconcile scopes independently on and can define classes on independently. (Authorization is still handled on the server level though) 2 DHCP servers for the price of own!
Tip:
When this tool doesn't automatically work in your environment be sure to set the DHCP Server Service to start automatically on your Server Core box. It doesn't do this by default. Use the Services MMC Snap-In remotely (more info here) or type the following commands on the console of your Server Core box
sc \\localhost config DHCPServer start= auto
sc start DHCPServer
File Services Tools
The File Services Tools folder inside the Remote Server Administration Tools (RSAT) contains a lot of interesting tools. When you add the Distributed File System Tools and Share and Storage Management Tools you receive the following new shortcuts in your Administrative Tools folder:
- DFS Management (dfsmgmt.msc)
- Share and Storage Manager (storagemgmt.msc)
The third tool that's listed in the Remote Server Administration Tools (RSAT) regarding File Services is the File Server Resource Manager. Since you can't install the File Server Resource Manager on a Server Core box, this tool cannot be pointed towards a Server Core file server and is therefor useless for managing Server Core boxes.
Share and storage management
The Share and Storage Management MMC Snap-In (storagemgmt.msc) is tool that is only supported to remotely manage Windows Server 2008 and above (can't be used to manage Vista though) and it provides an overview of all the shares and volumes on the server. The Share and Storage Management MMC Snap-In (storagemgmt.msc) provides much more information than the Shared Folders MMC Snap-In inside Computer Management (compmgmt.msc) does and can be seen as its successor.
It's almost a shame this tool is much harder to get working than the Shared Folders Snap-In. This is because of the Volume Management features which requires the Virtual Disk Service (VDS) to be properly configured and some firewall exceptions to be enabled on both the server and your Windows Vista workstation as pointed out here. To accomplish this, type the following command at both boxes:
sc \\localhost config vds start= auto
sc start vds
netsh advfirewall firewall set rule group="Remote Volume Management" new enabled=yes
Concluding
The Remote Server Administration Tools (RSAT) for Windows Vista add remote Server Core administration functionality to Windows Vista and can be used in that manner, when you know your way around them.
The Tools have some rough edges, some missing functionality (by default mostly) and most of them can't even be used with Server Core installations of Windows Server 2008, but they fulfill my remote administration wishes. When used in conjunction with the tools from Computer Management (compmgmt.msc) as shown here, you too can enjoy the bountiful joys of remote management from the comfort of anywhere you'd like. (in my case: my sunny backyard)
Further reading
RSAT has been released/freigegeben/解放される/libéré/lanzado
Remote Server Administration Tools (RSAT) Now Available for Windows Vista SP1
RSAT for Vista SP1 has been released to the web for ALL server languages!
RSAT (Remote Server Administration Tools): what's included and what's NOT!!
Not all RSAT Tools Work with Server 2003...
RSAT AD Domain Management
941314 - Description of Windows Server 2008 RSAT for Windows Vista SP1
RSAT and ADUC: Getting the Terminal Services Tabs to Appear in AD Users and Computers
Missing the WDS (Windows Deployment Services) snapin from RSAT on Windows Vista?
The Cable Guy DNS Enhancements in Windows Server 2008
The GPOGUY - RSAT Tools Now Available for Vista, SP1!!!!
The GPOGUY - Launching the new GP Management Editor from the command-line
Group Policy Preferences: I truly like this feature
Starter Group Policy Objects available to download
TechNet forums - RSAT and the missing Attribute Editor tab
TechNet forums - RSAT
Related reading
Handling Server Core Roles and Features
Remotely managing your Server Core using Compmgmt.msc
Server Core is proving to be a versatile infrastructure platform. After installing your basic Server Core installation, configuring network interfaces, activating, enable remote management (through RDP or WinRM) and changing the look and feel it might be time to install additional roles and optional features.
Roles
It's not just infrastructure roles you can install on Server Core... You can equip your Server Core box with a total of nine roles.Although not all roles are available after simply installing Windows Server 2008 in a Server Core fashion. (Some roles need to be downloaded first.)
For a complete overview of Server Roles look at the list of Server roles for Windows Server 2008 Server Core below:
| Server Role Name | Server Core Role Technical Name |
| Web Services (IIS) | IIS-WebServerRole * WAS-WindowsActivationService * |
| Print Services | Printing-ServerCore-Role * |
| Hyper-V | Hyper-V ** |
| Active Directory Domain Services | DirectoryServices-DomainController-ServerFoundation |
| Active Directory Lightweight Directory Services | DirectoryServices-ADAM-ServerCore |
| DHCP Server | DHCPServerCore |
| DNS Server | DNS-Server-Core-Role |
| File Services | enabled by default |
| Windows Media Services | MediaServer ** |
* Contains subroles that can be installed separately
** Role components need to be downloaded first
Features
Besides roles Server Core installations of Windows Server 2008 also allow the installations of sixteen features. It's not really clear what distinguish a role from a feature, but the fact DNS Server is a role and WINS Server is a feature made Mark Minassi believe features is the stuff Microsoft is embarrassed about. This is not the case and can be easily proven by summing up the list of Server Core installable features:
| Feature Name | Server Core Feature Technical Name |
| Bitlocker | BitLocker |
| Bitlocker Remote Admin Tool | BitLocker-RemoteAdminTool |
| Client for NFS | ClientForNFS-Base |
| Server for NFS | ServerForNFS-Base |
| Distributed File System Namespace Server | DFSN-Server |
| Distributed File System Replication | DFSR-Infrastructure-ServerEdition |
File Replacement Replication Service | FRS-Infrastructure |
| Removable Storage Management | Microsoft-Windows-RemovableStorageManagementCore |
| Multipath IO | MultipathIo |
| Network Load Balancing (NLB) | NetworkLoadBalancingHeadlessServer |
| Quality of Service (QoS/qWAVE) | QWAVE |
| Simple Network Management Protocol | SNMP-SC |
| Subsystem for UNIX-based Applications | SUACore |
| Telnet Client | TelnetClient |
| Windows Server Backup | WindowsServerBackup |
| Windows Internet Naming Service | WINS-SC |
Handling roles and features
Checking roles and / or features
One of Server Core's hidden gems is the oclist.exe program. As an administrator you can use it to see what roles and features you may install and what roles and features are installed. Simply run the following command on the console of your Server Core box:
oclist.exe
As Andrew Mason shows here you can also pipe the output of the command. For instance if you don’t want to include all of the many IIS options in the output of oclist.exe, run:
oclist.exe | find “Installed” | find /v “IIS”
In the same fashion you can make oclist.exe display a mere list of Roles and Features that are installed, using the following command:
oclist.exe | find "Installed" | find /v "Not Installed"
Installing roles and / or features
You'll find two commands to install a Role or a Feature: pkgmgr.exe and ocsetup.exe.
Both commands actually do the same thing in terms of installing a role or feature. One has more features than the other, but for the purpose of installing a role it makes no difference which command to use.
To install a role use one of the following commands:
start /w ocsetup.exe RoleOrFeatureName
start /w pkgmgr.exe -iu:RoleOrFeatureName
Where RoleOrFeatureName needs to be replaced with the Case sensitive (!) name of the Role or Feature you want to install.
Exception: Active Directory Domain Services
While you can install the Active Directory binaries to your hard disk by installing the Active Directory Directory Services Role, this will not result in a working Domain Controller. You need to run
dcpromo.exe.
More information here.
Removing roles and / or features
The previous two commands (pkgmgr.exe and ocsetup.exe) can also be used to remove a previously installed Role and / or Feature from your Server Core box.
To uninstall a role use one of the following commands:
start /w ocsetup.exe RoleOrFeatureName /uninstall
start /w pkgmgr.exe -uu:RoleOrFeatureName
Where RoleOrFeatureName needs to be replaced with the Case sensitive (!) name of the Role or Feature you want to uninstall.
Exception: Active Directory Domain Services
Uninstalling the DirectoryServices-DomainController-ServerFoundation Server Role from a Server Core Domain Controller will seriously cripple your installation to the extend where it won't boot normally anymore. Please use dcpromo.exe with appropriate command line switches.
Removing sources
Another great tip Andrew Mason shared publicly is how to use pkgmgr.exe to delete the local installation sources of the roles and features discussed above. This might get in handy when:
- You want to free up some hard disk space on your server's hard disk
- You strive to make your Server Core box the leanest and meanest server out there
- You want to protect other system administrators against themselves by prohibiting them from installing roles and features they wouldn't understand anyway.
Highlevel steps
The highlevel steps to remove a source are:
- Run:
start /w pkgmgr /up:SourceToRemove
Where SourceToRemove is the Case sensitive (!) and architecture-dependent (!) name of the installation source you want to remove. - Reboot (you can remove multiple packages before rebooting)
- Wait about 30 minutes for the disk cleanup to occur
Source names
The name of the installation sources are different than the names of the roles and include the architecture (x86 or amd64) and the version (6.0.6001.18000 for Windows Server 2008 RTM, other version numbers available here) in the following manner:
Microsoft-PackageDescription~31bf3856ad364e35~Architecture~~Version
Where PackageDescription can be any of the following:
| Hyper-V-Package |
| Windows-BLB-Package |
| Windows-DFSN-ServerCore |
| Windows-DFSR-ServerEdition-Package |
| Windows-DhcpServerCore-Package |
| Windows-DirectoryServices-ADAM-SrvFnd-Package |
| Windows-DirectoryServices-DomainController-SrvFnd-Package |
| Windows-DNS-Server-Core-Role-Package |
| Windows-FailoverCluster-Core-Package |
| Windows-FileReplication-Package |
| Windows-IIS-WebServer-Core-Package |
| Windows-Internet-Naming-Service-SC-Package |
| Windows-MultipathIo-Package |
| Windows-NetworkLoadBalancingHeadlessServer-Package |
| Windows-NFS-ServerFoundation-Package |
| Windows-Printing-ServerCore-Package |
| Windows-QWAVE-Package |
| Windows-RemovableStorageManagementCore-Package |
| Windows-SecureStartup-OC-Package |
| Windows-SNMP-SC-Package |
| Windows-SUA-Core-Package |
| Windows-Telnet-Client-Package |
| Windows-ServerCore-EA-IME-Package |
| Windows-ServerCore-EA-Fonts-Package |
Note:
While removing sources sounds appealing you should be aware it cannot be undone. Once you remove a package for a Role or Feature you can only install the Role and/or Feature after a reinstall of the Operating System.
Example:
start /w pkgmgr /up: Microsoft-Windows-SUA-Core-Package~31bf3856ad364e35~amd64~~6.0.6001.18000
Concluding
You can install 9 roles and 16 features, without even searching for the installation media.
If you're happy with your Server Core installation running some roles and some features, simply remove the sources of the other roles and features to make your server even leaner and meaner!
Further reading
Dcpromo Command-Line Options
Package Manager Command-Line Options
OCSetup Command-Line Options
Server Core: Reducing the Server Core disk footprint
Server Core: New Server Core Tips
Role Playing with Windows 2008 Server Core
Mark’s Windows 2008 DNS Server Command Line Cheat Sheet
Server Core Roles and Features of Windows Server 2008
Install a role on a Server Core Windows 2008
When Hyper-V on Server Core actually sucks
Server Core Roles & Features of Windows Server 2008
Server CORE Windows Server 2008 Setup Part 2 Installasi Server Role and Fitur
TechNet Forums - Demote or remove AD servcies role
TechNet Forums - Different web page list different server core server roles
TechNet Forums - The method to find the roles and features installed on a server core
TechNet Forums - Deciphering the oclist.exe output
TechNet Forums - Multiple Core Roles
I've been beta testing a lot of unfinished software products in the past years. Not surprisingly most of these were Microsoft products. (and mostly unknowingly also many products from other vendors...) Let's dive into the world of alphas, betas, release candidates and other test versions, because I suspect seemingly more people using beta software isn't just a result of Beta marketing; there are multiple factors at play.
Beta Usage
I think there are five main reasons why a lot of people use Beta software nowadays:
- It's everywhere nowadays
- Beta software is getting more exposure
- New software is mostly built on top of existing software
- Development times have increased
- Virtualization makes it easier to experiment
(I also think not all five reasons might apply to all beta software products.)
It's everywhere
Did you know that a lot of products from Google are still in beta development fase? If you look at Google Blog Search, Google Book Search, Google Video and even Google Mail you can clearly see the 'beta' thingy in each of these logos. And what to think of Joost, Corel WordPerfect Lightning and of course parts of the Live family of products? It's not just limited to 'big companies' though: Many Web 2.0 start-ups like GENi, Scrybe, GrandCentral, nsyght and many others prominently display the B word on their pages.
All these services and software are beta and some of us use (some of) them every day, like they consider them to be finalized products. They're not.
No wonder we don't get scared from the 'beta' word anymore - We're surrounded by it, we've come to love it (and in Microsoft terms: come to 'live' it) and we are made to believe using beta software is as easy, comfortable and hassle-free as the 'finalized' product.
Exposure
Back in the previous century it was considered 'a cool thing' to test unfinished software. You could brag to friends you were running a beta version of some new Windows version and only big companies had access to the beta bits to prepare them for the new technologies. I guess everyone wants to brag to their friends once in a while and every company wants to make its software ready for the next big product. It has become a way to differentiate between IT Professionals more than a way to differentiate between software manufacturers.
Let's look at the Windows Operating System. Windows 2000 Beta and Windows XP beta were only available to roughly 500.000 people. Windows Vista Beta 2 was available to millions of people in 2006. I feel Microsoft made a good decision there. Windows Vista was looked at closely by IT Pros, but also by customers in the TAP and RDP programs. At the same time Microsoft picked up on the many blogs and websites surrounding Windows Vista.
A newer form of "showing off" beta status was Microsoft's IIS7 Go Live initiative. It was an easy way. You could be part of a Beta incrowd, whilst you don't need a luminescent light bulb above your head in the form of a new revolutionary Web 2.0-style sociological experiment accompanied by start-up capital.
Evolution instead of revolution
Let's look at the situation most software manufacturers find themselves in. They have a good piece of software, a nice place in the market, customers know how to work with it and they've managed to eliminate most of the bugs. Of course they'd be stupid to re-engineer the whole piece and write all the code again. The risk of introducing new bugs, harming the reputation of the company and losing customers is just too high. Unless the current strategy or architecture of the software is really becoming a threat software will just evolve further.
Software users seem to know this and they receive help from IT Professionals. From Windows 9x or Windows NT4 to Windows 2000