Personalizing the Desktop on a Windows Server 2008 Server Core install

As mentioned in a previous blog post, a Server Core install of Windows Server 2008 does not include Explorer or the MMC. However, it does have a GUI for logon and the command prompt is typically showed in a windows with a graphical background. You also have a screen saver with a password prompt and some of the other basic elements of a Windows desktop. You can avoid most of that by configuring your command prompt to go full-screen/character-mode, but what if you want to stay graphical and customize the desktop? While there is no control panel to configure those, the settings are still there, buried in the registry.

IMPORTANT: This post contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, check http://support.microsoft.com/?id=256986.

The default desktop configuration in Server Core should be fine for most people. You get the standard background color, the standard screen saver and a 10-minute delay before your screen gets locked. However, I work a lot on virtual environments for demonstrations and that brings a number of challenges. First of all, I usually need to differentiate between the multiple virtual machines I am running, and setting a unique background color helps. Second, I typically do not want to lock the screen on every guest OS every 10-minutes, since I already lock my host OS screen.

You will find that most if not all these Control Panel settings end up in "HKEY_CURRENT_USERControl Panel" in the Registry. You can use REGEDIT.EXE (GUI) or REG.EXE (command-line) to check it. The two specific setting I was looking for were there. For the background color, you need to update the "HKEY_CURRENT_USERControl PanelColorsBackground", changing the default RGB value of "29 95 122" to something like "150 150 150" for a nice gray color. To disable the screen saver, you can simple change the value in "HKEY_CURRENT_USERControl PanelDesktopScreenSaveActive" from the default 1 to 0. Be sure to logoff and log back on to apply these changes.

The only two control panel you have in Windows Server 2008 Server Core (at least in the June CTP) are the ones for date/time and regional settings ("control.exe timedate.cpl" and "controle.exe intl.cpl"). If you need anything else changed, you'll have to either put in the registry yourself or use a nice Group Policy to do it for you. If you just wanted to take a peek at what you can do, I included below the data I gathered with a REG "HKCUControl Panel" /S command from a default install of Windows Server 2008 Enterprise Core June CTP.

Be careful with your registry...


Key Name Value Name Value Type Value Data (default)
HKCUControl PanelAccessibility MessageDuration REG_DWORD 0x5
HKCUControl PanelAccessibility MinimumHitRadius REG_DWORD 0x0
HKCUControl PanelAccessibilityOn On REG_DWORD 0x0
HKCUControl PanelAccessibilityOn Locale REG_DWORD 0x0
HKCUControl PanelColors ActiveBorder REG_SZ 212 208 200
HKCUControl PanelColors ActiveTitle REG_SZ 10 36 106
HKCUControl PanelColors AppWorkSpace REG_SZ 128 128 128
HKCUControl PanelColors ButtonAlternateFace REG_SZ 181 181 181
HKCUControl PanelColors ButtonDkShadow REG_SZ 64 64 64
HKCUControl PanelColors ButtonFace REG_SZ 212 208 200
HKCUControl PanelColors ButtonHilight REG_SZ 255 255 255
HKCUControl PanelColors ButtonLight REG_SZ 212 208 200
HKCUControl PanelColors ButtonShadow REG_SZ 128 128 128
HKCUControl PanelColors ButtonText REG_SZ 0 0 0
HKCUControl PanelColors GradientActiveTitle REG_SZ 166 202 240
HKCUControl PanelColors GradientInactiveTitle REG_SZ 192 192 192
HKCUControl PanelColors GrayText REG_SZ 128 128 128
HKCUControl PanelColors Hilight REG_SZ 10 36 106
HKCUControl PanelColors HilightText REG_SZ 255 255 255
HKCUControl PanelColors HotTrackingColor REG_SZ 0 0 128
HKCUControl PanelColors InactiveBorder REG_SZ 212 208 200
HKCUControl PanelColors InactiveTitle REG_SZ 128 128 128
HKCUControl PanelColors InactiveTitleText REG_SZ 212 208 200
HKCUControl PanelColors InfoText REG_SZ 0 0 0
HKCUControl PanelColors InfoWindow REG_SZ 255 255 225
HKCUControl PanelColors Menu REG_SZ 212 208 200
HKCUControl PanelColors MenuText REG_SZ 0 0 0
HKCUControl PanelColors Scrollbar REG_SZ 212 208 200
HKCUControl PanelColors TitleText REG_SZ 255 255 255
HKCUControl PanelColors Window REG_SZ 255 255 255
HKCUControl PanelColors WindowFrame REG_SZ 0 0 0
HKCUControl PanelColors WindowText REG_SZ 0 0 0
HKCUControl PanelColors Background REG_SZ 29 95 122
HKCUControl PanelDesktop ActiveWndTrackTimeout REG_DWORD 0x0
HKCUControl PanelDesktop BlockSendInputResets REG_SZ 0
HKCUControl PanelDesktop CaretWidth REG_DWORD 0x1
HKCUControl PanelDesktop ClickLockTime REG_DWORD 0x4b0
HKCUControl PanelDesktop CoolSwitchColumns REG_SZ 7
HKCUControl PanelDesktop CoolSwitchRows REG_SZ 3
HKCUControl PanelDesktop CursorBlinkRate REG_SZ 530
HKCUControl PanelDesktop DragFullWindows REG_SZ 1
HKCUControl PanelDesktop DragHeight REG_SZ 4
HKCUControl PanelDesktop DragWidth REG_SZ 4
HKCUControl PanelDesktop FocusBorderHeight REG_DWORD 0x1
HKCUControl PanelDesktop FocusBorderWidth REG_DWORD 0x1
HKCUControl PanelDesktop FontSmoothing REG_SZ 2
HKCUControl PanelDesktop FontSmoothingGamma REG_DWORD 0x0
HKCUControl PanelDesktop FontSmoothingOrientation REG_DWORD 0x1
HKCUControl PanelDesktop FontSmoothingType REG_DWORD 0x2
HKCUControl PanelDesktop ForegroundFlashCount REG_DWORD 0x3
HKCUControl PanelDesktop ForegroundLockTimeout REG_DWORD 0x30d40
HKCUControl PanelDesktop LeftOverlapChars REG_SZ 3
HKCUControl PanelDesktop MenuShowDelay REG_SZ 400
HKCUControl PanelDesktop PaintDesktopVersion REG_DWORD 0x0
HKCUControl PanelDesktop Pattern REG_DWORD 0x0
HKCUControl PanelDesktop RightOverlapChars REG_SZ 3
HKCUControl PanelDesktop TileWallpaper REG_SZ 0
HKCUControl PanelDesktop WallpaperOriginX REG_DWORD 0x0
HKCUControl PanelDesktop WallpaperOriginY REG_DWORD 0x0
HKCUControl PanelDesktop WallpaperStyle REG_SZ 2
HKCUControl PanelDesktop WheelScrollChars REG_SZ 3
HKCUControl PanelDesktop WheelScrollLines REG_SZ 3
HKCUControl PanelDesktop ScreenSaveActive REG_SZ 1
HKCUControl PanelDesktop ScreenSaverIsSecure REG_SZ 1
HKCUControl PanelDesktop ScreenSaveTimeOut REG_SZ 600
HKCUControl PanelDesktop SCRNSAVE.EXE REG_SZ C:Windowssystem32logon.scr
HKCUControl PanelDesktopWindowMetrics BorderWidth REG_SZ #USR:Control_PanelDesktopWindowMetrics
HKCUControl PanelDesktopWindowMetrics CaptionFont REG_BINARY *** binary data snipped ***
HKCUControl PanelDesktopWindowMetrics CaptionHeight REG_SZ -270
HKCUControl PanelDesktopWindowMetrics CaptionWidth REG_SZ -270
HKCUControl PanelDesktopWindowMetrics IconFont REG_BINARY *** binary data snipped ***
HKCUControl PanelDesktopWindowMetrics IconTitleWrap REG_SZ 1
HKCUControl PanelDesktopWindowMetrics MenuFont REG_BINARY *** binary data snipped ***
HKCUControl PanelDesktopWindowMetrics MenuHeight REG_SZ -270
HKCUControl PanelDesktopWindowMetrics MenuWidth REG_SZ -270
HKCUControl PanelDesktopWindowMetrics MessageFont REG_BINARY *** binary data snipped ***
HKCUControl PanelDesktopWindowMetrics ScrollHeight REG_SZ -240
HKCUControl PanelDesktopWindowMetrics ScrollWidth REG_SZ -240
HKCUControl PanelDesktopWindowMetrics SmCaptionFont REG_BINARY *** binary data snipped ***
HKCUControl PanelDesktopWindowMetrics SmCaptionHeight REG_SZ -180
HKCUControl PanelDesktopWindowMetrics SmCaptionWidth REG_SZ -180
HKCUControl PanelDesktopWindowMetrics StatusFont REG_BINARY *** binary data snipped ***
HKCUControl PanelDesktopWindowMetrics Shell Icon Size REG_SZ 32
HKCUControl PanelInput Method Show Status REG_SZ 1
HKCUControl PanelInput MethodHot Keys�0000010 Key Modifiers REG_BINARY 02C00000
HKCUControl PanelInput MethodHot Keys�0000010 Target IME REG_BINARY 0
HKCUControl PanelInput MethodHot Keys�0000010 Virtual Key REG_BINARY 20000000
*** other Hot Keys defined here ***      
HKCUControl PanelInternational Locale REG_SZ 409
HKCUControl PanelInternational LocaleName REG_SZ en-US
HKCUControl PanelInternational s1159 REG_SZ AM
HKCUControl PanelInternational s2359 REG_SZ PM
HKCUControl PanelInternational sCountry REG_SZ United States
HKCUControl PanelInternational sCurrency REG_SZ $
HKCUControl PanelInternational sDate REG_SZ /
HKCUControl PanelInternational sDecimal REG_SZ .
HKCUControl PanelInternational sGrouping REG_SZ 3;0
HKCUControl PanelInternational sLanguage REG_SZ ENU
HKCUControl PanelInternational sList REG_SZ ,
HKCUControl PanelInternational sLongDate REG_SZ dddd, MMMM dd, yyyy
HKCUControl PanelInternational sMonDecimalSep REG_SZ .
HKCUControl PanelInternational sMonGrouping REG_SZ 3;0
HKCUControl PanelInternational sMonThousandSep REG_SZ ,
HKCUControl PanelInternational sNativeDigits REG_SZ 123456789
HKCUControl PanelInternational sNegativeSign REG_SZ -
HKCUControl PanelInternational sPositiveSign REG_SZ
HKCUControl PanelInternational sShortDate REG_SZ M/d/yyyy
HKCUControl PanelInternational sThousand REG_SZ ,
HKCUControl PanelInternational sTime REG_SZ :
HKCUControl PanelInternational sTimeFormat REG_SZ h:mm:ss tt
HKCUControl PanelInternational sYearMonth REG_SZ MMMM, yyyy
HKCUControl PanelInternational iCalendarType REG_SZ 1
HKCUControl PanelInternational iCountry REG_SZ 1
HKCUControl PanelInternational iCurrDigits REG_SZ 2
HKCUControl PanelInternational iCurrency REG_SZ 0
HKCUControl PanelInternational iDate REG_SZ 0
HKCUControl PanelInternational iDigits REG_SZ 2
HKCUControl PanelInternational NumShape REG_SZ 1
HKCUControl PanelInternational iFirstDayOfWeek REG_SZ 6
HKCUControl PanelInternational iFirstWeekOfYear REG_SZ 0
HKCUControl PanelInternational iLZero REG_SZ 1
HKCUControl PanelInternational iMeasure REG_SZ 1
HKCUControl PanelInternational iNegCurr REG_SZ 0
HKCUControl PanelInternational iNegNumber REG_SZ 1
HKCUControl PanelInternational iPaperSize REG_SZ 1
HKCUControl PanelInternational iTime REG_SZ 0
HKCUControl PanelInternational iTimePrefix REG_SZ 0
HKCUControl PanelInternational iTLZero REG_SZ 0
HKCUControl PanelInternationalGeo Nation REG_SZ 244
HKCUControl PanelKeyboard InitialKeyboardIndicators REG_SZ 2147483648
HKCUControl PanelKeyboard KeyboardDelay REG_SZ 1
HKCUControl PanelKeyboard KeyboardSpeed REG_SZ 31
HKCUControl PanelMouse ActiveWindowTracking REG_DWORD 0x0
HKCUControl PanelMouse Beep REG_SZ No
HKCUControl PanelMouse DoubleClickHeight REG_SZ 4
HKCUControl PanelMouse DoubleClickSpeed REG_SZ 500
HKCUControl PanelMouse DoubleClickWidth REG_SZ 4
HKCUControl PanelMouse ExtendedSounds REG_SZ No
HKCUControl PanelMouse MouseHoverHeight REG_SZ 4
HKCUControl PanelMouse MouseHoverTime REG_SZ 400
HKCUControl PanelMouse MouseHoverWidth REG_SZ 4
HKCUControl PanelMouse MouseSensitivity REG_SZ 10
HKCUControl PanelMouse MouseSpeed REG_SZ 1
HKCUControl PanelMouse MouseThreshold1 REG_SZ 6
HKCUControl PanelMouse MouseThreshold2 REG_SZ 10
HKCUControl PanelMouse MouseTrails REG_SZ 0
HKCUControl PanelMouse SmoothMouseXCurve REG_BINARY *** binary data snipped ***
HKCUControl PanelMouse SmoothMouseYCurve REG_BINARY *** binary data snipped ***
HKCUControl PanelMouse SnapToDefaultButton REG_SZ 0
HKCUControl PanelMouse SwapMouseButtons REG_SZ 0
HKCUControl PanelPowerCfg CurrentPowerPolicy REG_SZ 0
HKCUControl PanelPowerCfgGlobalPowerPolicy Policies REG_BINARY *** binary data snipped ***
HKCUControl PanelPowerCfgPowerPolicies� Name REG_SZ Home/Office Desk
HKCUControl PanelPowerCfgPowerPolicies� Description REG_SZ This scheme is suited to most home or desktop computers that are left plugged in all the time.
HKCUControl PanelPowerCfgPowerPolicies� Policies REG_BINARY *** binary data snipped ***
*** other Power Policies defined here ***