What is NTSwitch?
NTSwitch is a small freeware program that allows you to turn an existing NT Workstation or Windows 2000 Professional installation into an NT Server or a Windows 2000 Server environment.
How does it work?
It's well-known that Workstation and Server environments are virtually identical. The operating system decides which "flavor" to run in based on two registry values:
HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions - ProductType [REG_SZ]
HKLM\SYSTEM\Setup - SystemPrefix [REG_BINARY 8 bytes]
ProductType is "ServerNT" or "LanmanNT" for servers, and "WinNT" for workstations. The third bit in the last byte of the SystemPrefix value is set for servers, and cleared for workstations.
Since the release of NT4, Microsoft has taken measures to keep the user from changing these registry values. The operating system has two watcher threads that revert any changes made to these two registry settings, as well as warn the user about "tampering".
The good guys at SYSInternals have supposedly created an application called NTTune. They did not release it to the public, but only to the press - their intent was to demonstrate the fact that there's really no difference between Server and Workstation. However, they did not make their utility publicly available. The application disabled the system threads thus letting the user change the aforementioned registry values.
The public is curious - people came up with a way of changing these settings without NTTune. Details are here. It involves hacking the NTOSKRNL.EXE executable so that the watchdogs are looking at some other registry setting. While this works, it's definitely not for the faint at heart.
Our utility, NTSwitch, is not as slick as NTTune - it does not disable the system threads. It's not as horrible as the NTOSKRNL.EXE hack either.
Our approach is the following:
Backup the SYSTEM hive of the registry using the registry API.
Edit the information contained in the backup file.
Restore the registry from the backup.
Reboot the computer so that the changes can take effect.