<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Random Musings of Jeremy Jameson : Windows Server</title><link>http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx</link><description>Tags: Windows Server</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>A Simple Backup Solution</title><link>http://blogs.msdn.com/jjameson/archive/2009/11/09/a-simple-backup-solution.aspx</link><pubDate>Mon, 09 Nov 2009 13:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9919509</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9919509.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9919509</wfw:commentRss><description>&lt;P&gt;As I've mentioned before, I don't spend much money or time maintaining the &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx"&gt;"Jameson Datacenter"&lt;/A&gt; (a.k.a. my home lab). However, that doesn't mean that I treat my infrastructure lightly.&lt;/P&gt;
&lt;P&gt;In previous posts, I've covered many of the Group Policy objects that I use to minimize the maintenance effort associated with running more than a dozen servers (mostly virtual). In this post, I'll provide the details on how I backup these servers.&lt;/P&gt;
&lt;P&gt;I should preface this by saying this is not meant to be an "enterprise-level" backup solution. Rather it is simply meant to provide a cheap (actually free) and easy solution to the problem of ensuring you can recover from data loss. Note that data loss rarely occurs through some sort of hardware failure or Act of God (as the insurance folks like to put it). Rather the majority of the time someone accidentally overwrites or deletes a file -- or, gasp, a complete folder hierarchy -- and you subsequently need to restore the data from a backup.&lt;/P&gt;
&lt;P&gt;For as long as I can remember, Windows Server has included the NTBackup utility. I'm guessing from the name that this has been around since the days of Windows NT 3.1, but honestly I don't believe I even started running Windows NT until version 3.5. Or was it 3.51? I can't remember. Anyway, I certainly haven't been running NTBackup since then.&lt;/P&gt;
&lt;P&gt;Here is the simple batch file that I use to perform scheduled backups:&lt;/P&gt;
&lt;DIV class=codeBlock&gt;&lt;PRE&gt;&lt;CODE&gt;@echo off

setlocal

set BACKUP_TYPE=normal

if ("%1") NEQ ("") set BACKUP_TYPE=%1

for /f "tokens=2-4 delims=/ " %%i in ('date /t') do set currentDate=%%k-%%i-%%j
for /f "tokens=1-2" %%i in ('time /t') do set currentTime=%%i %%j
set BACKUP_TIMESTAMP=%currentDate%-%currentTime:~0,2%-%currentTime:~3,2%-%currentTime:~6,2%

set BACKUP_FILE=D:\NotBackedUp\Backups\Backup-%BACKUP_TYPE%-%BACKUP_TIMESTAMP%.bkf

:: ----------------------------------------------------------------------------
call :LogMessage "Starting backup..."
call :LogMessage "BACKUP_TYPE: %BACKUP_TYPE%"
call :LogMessage "BACKUP_FILE: %BACKUP_FILE%"

C:\WINDOWS\system32\ntbackup.exe backup C:\BackedUp /n "Backup created %BACKUP_TIMESTAMP%" /m %BACKUP_TYPE% /j "Backup (%BACKUP_TYPE%)" /f "%BACKUP_FILE%"
if %ERRORLEVEL% neq 0 goto Errors

call :LogMessage "Successfully completed backup."

goto :eof

:: ----------------------------------------------------------------------------
::
:LogMessage

REM Strip leading and trailing quotes and then display message with timestamp
set MESSAGE=%1
set MESSAGE=%MESSAGE:~1,-1%

for /f "tokens=2-4 delims=/ " %%i in ('date /t') do set currentDate=%%k-%%i-%%j
for /f "tokens=1-2" %%i in ('time /t') do set currentTime=%%i %%j
echo %currentDate% %currentTime% - %MESSAGE%

goto :eof

:: ----------------------------------------------------------------------------
::
:Errors

echo Warning! One or more errors detected.&lt;/CODE&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;If you've seen any of my scripts before, then you'll quickly notice the typical &lt;CODE&gt;LogMessage&lt;/CODE&gt; "function" that I use to write messages prefixed with a timestamp. For example here's the output from the log for this morning's backup:&lt;/P&gt;
&lt;DIV class=logExcerpt&gt;&lt;PRE&gt;&lt;SAMP&gt;2009-11-09 12:30 AM - Starting backup...
2009-11-09 12:30 AM - BACKUP_TYPE: differential
2009-11-09 12:30 AM - BACKUP_FILE: D:\NotBackedUp\Backups\Backup-differential-2009-11-09-12-30-AM.bkf
2009-11-09 12:31 AM - Successfully completed backup.&lt;/SAMP&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;I use similar token parsing of the output from the &lt;STRONG&gt;&lt;A href="http://technet.microsoft.com/en-us/library/cc732776(WS.10).aspx" mce_href="http://technet.microsoft.com/en-us/library/cc732776(WS.10).aspx"&gt;date&lt;/A&gt;&lt;/STRONG&gt; and &lt;A href="http://technet.microsoft.com/en-us/library/cc770579(WS.10).aspx" mce_href="http://technet.microsoft.com/en-us/library/cc770579(WS.10).aspx"&gt;&lt;STRONG&gt;time&lt;/STRONG&gt;&lt;/A&gt; system commands to generate the name of the backup file (e.g. &lt;SAMP&gt;Backup-differential-2009-11-09-12-30-AM.bkf&lt;/SAMP&gt;).&lt;/P&gt;
&lt;P&gt;Also note that the &lt;A href="http://technet.microsoft.com/en-us/library/cc784306(WS.10).aspx" mce_href="http://technet.microsoft.com/en-us/library/cc784306(WS.10).aspx"&gt;type of backup&lt;/A&gt; (e.g. &lt;STRONG&gt;normal &lt;/STRONG&gt;or &lt;STRONG&gt;differential&lt;/STRONG&gt;) can be specified as a parameter when running the batch file. This is really powerful for scheduling different types of backups on various schedules.&lt;/P&gt;
&lt;P&gt;Here are the scheduled backups on one of my servers (BEAST):&lt;/P&gt;
&lt;TABLE class=accent1 cellSpacing=0 class="accent1"&gt;
&lt;CAPTION&gt;Scheduled Backups on BEAST&lt;/CAPTION&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH&gt;Name&lt;/TH&gt;
&lt;TH&gt;Schedule&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;Daily Backup&lt;/TD&gt;
&lt;TD&gt;At 12:00 PM every day&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Differential Backup&lt;/TD&gt;
&lt;TD&gt;At 12:30 AM every day&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Full Backup&lt;/TD&gt;
&lt;TD&gt;At 1:00 AM every Sun of every week&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;The &lt;STRONG&gt;Daily Backup&lt;/STRONG&gt; task is configured as follows:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Run: &lt;/STRONG&gt;C:\BackedUp\Backup.cmd daily &amp;gt;&amp;gt; Backup.log&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Start in:&lt;/STRONG&gt; C:\BackedUp&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Run as:&lt;/STRONG&gt; TECHTOOLBOX\svc-backup&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Note that I specifically chose the middle of the day to perform daily backups so that I could potentially recover a file that was created in the morning but mistakenly deleted in the afternoon. I suppose I could schedule incremental backups throughout the day, but honestly, I haven't seen the need given my situation.&lt;/P&gt;
&lt;P&gt;Also note that the service account that I use for backups (TECHTOOLBOX\svc-backup) is only a member of the &lt;STRONG&gt;Backup Operators &lt;/STRONG&gt;group. It is not a member of the &lt;STRONG&gt;Administrators &lt;/STRONG&gt;group.&lt;/P&gt;
&lt;P&gt;Consequently there's a known issue with running batch files using scheduled tasks due to out-of-the-box security restrictions on cmd.exe:&lt;/P&gt;
&lt;DIV class=reference&gt;&lt;CITE&gt;"Access is denied" error message when you run a batch job on a Windows Server 2003-based computer&lt;/CITE&gt; 
&lt;DIV class=referenceLink&gt;&lt;A href="http://support.microsoft.com/kb/867466" mce_href="http://support.microsoft.com/kb/867466"&gt;http://support.microsoft.com/kb/867466&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Lastly, note that I am doing a simple disk-to-disk backup on my servers, so if there's a fire in the Jameson Datacenter (i.e. my basement) and I lose these servers completely then I'm going to be "hurtin' for certain." However should there ever be a fire in my basement (Heaven forbid), I'm going to be worried about a lot more than just restoring my data from backup. Note that I keep copies of the &lt;EM&gt;really&lt;/EM&gt; important stuff (e.g. digital photos and home videos of my family) on DVDs at my parents' house.&lt;/P&gt;
&lt;P&gt;I've read that there's a new backup tool in Windows Server 2008, so I suppose one of these days I'll need to get around to upgrading my backup solution ;-)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9919509" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/My+System/default.aspx">My System</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category></item><item><title>Configure IntelliMirror Using Group Policy</title><link>http://blogs.msdn.com/jjameson/archive/2009/10/21/configure-intellimirror-using-group-policy.aspx</link><pubDate>Wed, 21 Oct 2009 12:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9910544</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9910544.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9910544</wfw:commentRss><description>&lt;P&gt;Yet another Group Policy object that I use in the &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx"&gt;"Jameson Datacenter"&lt;/A&gt; (a.k.a. my home lab) is one to automatically configure roaming profiles and redirect the Desktop and Documents folders to a server(a.k.a. "IntelliMirror").&lt;/P&gt;
&lt;P&gt;Even though I don't have many users in my Active Directory domain -- it's not like I have eight kids, just one -- I still want to keep user data centrally managed on a server that I backup regularly. Besides, I find it really frustrating to have some items on your desktop on one computer, but a different set of desktop items on another computer (or VM).&lt;/P&gt;
&lt;P&gt;To automatically configure this in the "Jameson Datacenter", I defined a Group Policy (named &lt;STRONG&gt;Default User Data and Settings Policy&lt;/STRONG&gt;) with the following settings:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;User Configuration&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Policies&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows Settings&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Folder Redirection&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN class=sectionTitle tabIndex=0&gt;&lt;STRONG&gt;AppData(Roaming)&lt;/STRONG&gt;&lt;/SPAN&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN class=sectionTitle tabIndex=0&gt;&lt;STRONG&gt;Setting: Basic (Redirect everyone's folder to the same location)&lt;/STRONG&gt;&lt;/SPAN&gt; 
&lt;UL&gt;
&lt;LI&gt;Path: \\beast\Users$\%USERNAME%\Application Data&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Options&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;Grant user exclusive rights to AppData(Roaming): Enabled&lt;/LI&gt;
&lt;LI&gt;Move the contents of AppData(Roaming) to the new location: Enabled&lt;/LI&gt;
&lt;LI&gt;Also apply redirection policy to Windows 2000, Windows 2000 server, Windows XP, and Windows Server 2003 operating systems: Enabled&lt;/LI&gt;
&lt;LI&gt;Policy Removal Behavior: Leave contents&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN class=sectionTitle tabIndex=0&gt;&lt;STRONG&gt;Desktop&lt;/STRONG&gt;&lt;/SPAN&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN class=sectionTitle tabIndex=0&gt;&lt;STRONG&gt;Setting: Basic (Redirect everyone's folder to the same location)&lt;/STRONG&gt;&lt;/SPAN&gt; 
&lt;UL&gt;
&lt;LI&gt;Path: \\beast\Users$\%USERNAME%\Desktop&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Options&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;Grant user exclusive rights to Desktop: Enabled&lt;/LI&gt;
&lt;LI&gt;Move the contents of Desktop to the new location: Enabled&lt;/LI&gt;
&lt;LI&gt;Also apply redirection policy to Windows 2000, Windows 2000 server, Windows XP, and Windows Server 2003 operating systems: Enabled&lt;/LI&gt;
&lt;LI&gt;Policy Removal Behavior: Leave contents&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN class=sectionTitle tabIndex=0&gt;&lt;STRONG&gt;Documents&lt;/STRONG&gt;&lt;/SPAN&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN class=sectionTitle tabIndex=0&gt;&lt;STRONG&gt;Setting: Basic (Redirect everyone's folder to the same location)&lt;/STRONG&gt;&lt;/SPAN&gt; 
&lt;UL&gt;
&lt;LI&gt;Path: \\beast\Users$\%USERNAME%\Documents&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Options&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;Grant user exclusive rights to Documents: Enabled&lt;/LI&gt;
&lt;LI&gt;Move the contents of Documentsto the new location: Enabled&lt;/LI&gt;
&lt;LI&gt;Also apply redirection policy to Windows 2000, Windows 2000 server, Windows XP, and Windows Server 2003 operating systems: Enabled&lt;/LI&gt;
&lt;LI&gt;Policy Removal Behavior: Leave contents&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Music&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;Setting: Follow the Documents folder&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Pictures&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;Setting: Follow the Documents folder&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Videos&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;Setting: Follow the Documents folder&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE class=note&gt;
&lt;DIV class=noteTitle&gt;&lt;STRONG&gt;Note&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;Those of you that have a very keen eye (and also a photographic memory) might recall that in a previous post, I listed BEAST as a database server (it is currently running SQL Server 2005). Yes, it's true, I'm breaking one of my own cardinal sins by having a SQL Server also serve as a file server. I don't recommend doing this unless, like me, you are trying to go as cheap as possible -- and, even then, only for a lab environment like mine.&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;In order to allow users access to create their own folders on \\BEAST\Users$, I have configured the following permissions on C:\BackedUp\Users:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Domain Users 
&lt;UL&gt;
&lt;LI&gt;Apply onto: This folder only&lt;/LI&gt;
&lt;LI&gt;Permissions 
&lt;UL&gt;
&lt;LI&gt;List Folder / Read Data&lt;/LI&gt;
&lt;LI&gt;Create Folders / Append Data&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;CREATOR OWNER 
&lt;UL&gt;
&lt;LI&gt;Apply onto: Subfolders and files only&lt;/LI&gt;
&lt;LI&gt;Permissions 
&lt;UL&gt;
&lt;LI&gt;Full Control&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I also created a hidden share for the C:\BackedUp\Users folder and granted &lt;STRONG&gt;Full Control &lt;/STRONG&gt;to &lt;STRONG&gt;Authenticated Users &lt;/STRONG&gt;(since the NTFS permissions above ultimately determine the level of access for all users).&lt;/P&gt;
&lt;P&gt;Thus when a new user logs in for the first time, a corresponding folder is created on the server and all of the user's files are stored on the server.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9910544" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/My+System/default.aspx">My System</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Simplify/default.aspx">Simplify</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category></item><item><title>Eliminate MBSA Warnings Using Default Security Settings Policy</title><link>http://blogs.msdn.com/jjameson/archive/2009/10/21/eliminate-mbsa-warnings-using-default-security-settings-policy.aspx</link><pubDate>Wed, 21 Oct 2009 11:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9910517</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9910517.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9910517</wfw:commentRss><description>&lt;P&gt;Another Group Policy object that I use in the &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx"&gt;"Jameson Datacenter"&lt;/A&gt; (a.k.a. my home lab) is one that I created a couple of years ago in order to eliminate various warnings from the &lt;A href="http://technet.microsoft.com/en-us/security/cc184924.aspx" mce_href="http://technet.microsoft.com/en-us/security/cc184924.aspx"&gt;Microsoft Baseline Security Advisor&lt;/A&gt; (MBSA).&lt;/P&gt;
&lt;P&gt;To automatically change the default security settings in the "Jameson Datacenter", I defined a Group Policy (named &lt;STRONG&gt;Default Security Settings Policy&lt;/STRONG&gt;) with the following settings:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Computer Configuration&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Policies&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows Settings&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Security Settings&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Account Policies&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Password Policy&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Maximum password age: 60 days&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Minimum password age: 1 day&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Minimum password length: 8 characters&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Local Policies&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Security Options&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Network security: LAN Manager authentication level: Send NTLMv2 response only. Refuse LM &amp;amp; NTLM&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;System Services&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;TlntSvr&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Startup Mode: Disabled&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I don't know about you, but I haven't used Telnet in almost fifteen years -- back when I used to work on Unix systems ;-)&lt;/P&gt;
&lt;P&gt;This Group Policy is linked to the entire domain (i.e. &lt;STRONG&gt;corp.technologytoolbox.com&lt;/STRONG&gt;).&lt;/P&gt;
&lt;P&gt;Note that I still use the &lt;STRONG&gt;Default Domain Controllers Policy&lt;/STRONG&gt; to configure the security settings on the domain controllers (and thus domain accounts). In other words, the settings noted above only affect local accounts (e.g. COLOSSUS\Administrator, not TECHTOOLBOX\jjameson).&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9910517" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/My+System/default.aspx">My System</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Simplify/default.aspx">Simplify</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category></item><item><title>Managing Group Membership via Group Policy - Part 2</title><link>http://blogs.msdn.com/jjameson/archive/2009/10/15/managing-group-membership-via-group-policy-part-2.aspx</link><pubDate>Thu, 15 Oct 2009 13:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9907648</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9907648.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9907648</wfw:commentRss><description>&lt;P&gt;In &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/10/15/managing-group-membership-via-group-policy-part-1.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/10/15/managing-group-membership-via-group-policy-part-1.aspx"&gt;Part 1 of this post&lt;/A&gt;, I explained the Group Policy object (named &lt;STRONG&gt;Development - Restricted Groups Policy&lt;/STRONG&gt;) that I use for enforcing group membership on a specific set of servers. As a follow-up to that post, I also want to cover an alternate method of managing group membership.&lt;/P&gt;
&lt;P&gt;In the previous scenario -- i.e. ensuring that Development team leads always have administrative access to servers in their Development Integration Environment (DEV) -- we actually wanted to restrict the members of the local &lt;STRONG&gt;Administrators&lt;/STRONG&gt; group on all servers in DEV. However, what if we need to address a slightly different scenario in which we want a specific user or group to always be a member of the local &lt;STRONG&gt;Administrators &lt;/STRONG&gt;group -- in addition to other group members (that vary by server)?&lt;/P&gt;
&lt;P&gt;For example, consider the fact that I use &lt;A href="http://www.microsoft.com/systemcenter/operationsmanager/en/us/default.aspx" mce_href="http://www.microsoft.com/systemcenter/operationsmanager/en/us/default.aspx"&gt;Systems Center Operations Manager (SCOM)&lt;/A&gt; in order to monitor the various physical and virtual servers in the the &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx"&gt;"Jameson Datacenter"&lt;/A&gt; (a.k.a. my home lab). One of the things I learned while deploying SCOM is that it is, um, &lt;EM&gt;challenging&lt;/EM&gt; to deploy it in a least privilege configuration -- or at least for someone who primarily considers himself an AppDev (Application Development) flavor of Microsoft consultant.&lt;/P&gt;
&lt;P&gt;At a bare minimum, your SCOM service account needs to be a member of the &lt;STRONG&gt;Performance Monitor Users &lt;/STRONG&gt;group on each monitored server. Rather than forcing myself to configure this on all of my existing servers as well on new servers and VMs that I will undoubtedly add in the future, I decided to apply this change using Group Policy instead.&lt;/P&gt;
&lt;P&gt;However, in this scenario, I don't want to &lt;EM&gt;restrict &lt;/EM&gt;the members of the &lt;STRONG&gt;Performance Monitor Users &lt;/STRONG&gt;group on each monitored server. Rather I simply want to ensure that the SCOM service account is a member of this group &lt;EM&gt;in addition to any other members&lt;/EM&gt;.&lt;/P&gt;
&lt;P&gt;To address this scenario, I created a startup script called &lt;STRONG&gt;EnsureLocalGroupMembership.cmd &lt;/STRONG&gt;in the following folder:&lt;/P&gt;
&lt;P&gt;&lt;A href="file://corp.technologytoolbox.com/SysVol/corp.technologytoolbox.com/Policies/%7BGUID%7D/Machine/Scripts/Startup/OperationsManager" mce_href="file://corp.technologytoolbox.com/SysVol/corp.technologytoolbox.com/Policies/{GUID}/Machine/Scripts/Startup/OperationsManager"&gt;file://corp.technologytoolbox.com/SysVol/corp.technologytoolbox.com/Policies/{GUID}/Machine/Scripts/Startup/OperationsManager&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The contents of the script are actually quite trival:&lt;/P&gt;
&lt;DIV class=codeBlock&gt;&lt;PRE&gt;&lt;CODE&gt;net localgroup "Performance Monitor Users" TECHTOOLBOX\svc-mom-action /add&lt;/CODE&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;BLOCKQUOTE class=note&gt;
&lt;DIV class=noteTitle&gt;&lt;STRONG&gt;Note&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;Prior to deploying SCOM 2007 in the "Jameson Datacenter" I used its predecessor -- Microsoft Operations Manager (MOM) -- and thus had already created a service account named &lt;STRONG&gt;svc-mom-action&lt;/STRONG&gt;.&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;To force this startup script to run on all monitored servers, I created a Group Policy object (named &lt;STRONG&gt;Default Operations Manager Policy&lt;/STRONG&gt;) and linked it to the corresponding OU.&lt;/P&gt;
&lt;P&gt;Here are the settings for the Group Policy:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Computer Configuration&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Policies&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows Settings&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Scripts (Startup/Shutdown)&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Startup&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Name: OperationsManager\EnsureLocalGroupMembership.cmd&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;By linking this Group Policy to the appropriate OU (i.e. &lt;STRONG&gt;IT/Resources/Servers&lt;/STRONG&gt;) the SCOM service account is ensured to be a member of the local &lt;STRONG&gt;Performance Monitor Users &lt;/STRONG&gt;group on each monitored server. Voilà!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9907648" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/My+System/default.aspx">My System</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Simplify/default.aspx">Simplify</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category></item><item><title>Enforcing Windows Update via Group Policy</title><link>http://blogs.msdn.com/jjameson/archive/2009/10/15/enforcing-windows-update-via-group-policy.aspx</link><pubDate>Thu, 15 Oct 2009 12:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9907637</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9907637.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9907637</wfw:commentRss><description>&lt;P&gt;Another Group Policy object that I use in the &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx"&gt;"Jameson Datacenter"&lt;/A&gt; (a.k.a. my home lab) is one to automatically configure Windows Update on all computers in the domain. This ensures that each server or workstation downloads updates from COLOSSUS (one of my VMs that is running Windows Server Update Services) rather than having each computer download, for example, a &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=656c9d4a-55ec-4972-a0d7-b1a6fedf51a7&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=656c9d4a-55ec-4972-a0d7-b1a6fedf51a7&amp;amp;displaylang=en"&gt;577 MB service pack&lt;/A&gt; directly from the Internet. It also ensures that only the updates that I have approved through WSUS are applied.&lt;/P&gt;
&lt;P&gt;To automatically configure Windows Update in the "Jameson Datacenter", I have defined a Group Policy (named &lt;STRONG&gt;Default Windows Update Policy&lt;/STRONG&gt;) with the following settings:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Computer Configuration&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Policies&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Administrative Templates&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows Components&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows Update&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Configure Automatic Updates&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Enabled&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Configure automatic updating: 4 -Auto download and schedule the install&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Scheduled install day: 0 - Every day&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Scheduled install time: 03:00&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Specify intranet Microsoft update service location&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Enabled&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Set the intranet update service for detecting updates: http://colossus&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Set the intranet statistics server: http://colossus&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;By linking this Group Policy to the entire domain (i.e. &lt;STRONG&gt;corp.technologytoolbox.com&lt;/STRONG&gt;) Windows Update is automatically configured as soon as new computers are joined to the domain and rebooted.&lt;/P&gt;
&lt;P&gt;This enables me to spin up new VMs with very little effort. More importantly, it takes less than a half hour to get a new Windows Server 2008 VM with all the latest patches (since I start from a &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/08/13/using-sysprep-ed-vhds-for-new-hyper-v-virtual-machines.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/08/13/using-sysprep-ed-vhds-for-new-hyper-v-virtual-machines.aspx"&gt;SysPrep'ed VHD&lt;/A&gt; with Windows Server 2008 Service Pack 2).&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9907637" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/My+System/default.aspx">My System</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Simplify/default.aspx">Simplify</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/WSUS/default.aspx">WSUS</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category></item><item><title>Managing Group Membership via Group Policy - Part 1</title><link>http://blogs.msdn.com/jjameson/archive/2009/10/15/managing-group-membership-via-group-policy-part-1.aspx</link><pubDate>Thu, 15 Oct 2009 11:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9907620</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9907620.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9907620</wfw:commentRss><description>&lt;P&gt;In yesterday's &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/10/14/enabling-remote-desktop-via-group-policy.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/10/14/enabling-remote-desktop-via-group-policy.aspx"&gt;post&lt;/A&gt; I covered one of the Group Policy objects that I use in the &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx"&gt;"Jameson Datacenter"&lt;/A&gt; (a.k.a. my home lab), specifically one that automatically enables Remote Desktop (Terminal Services) whenever I add a new server to my Active Directory domain. This post introduces a Group Policy object that enforces group membership on a specific set of servers.&lt;/P&gt;
&lt;P&gt;To understand the value of this kind of Group Policy, consider a scenario where you have a Development organization that manages its own &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/09/25/development-and-build-environments.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/09/25/development-and-build-environments.aspx"&gt;Development Integration Environment (DEV)&lt;/A&gt;. Standard operating procedures state that certain individuals within the Development organization -- say, for example, the team leads -- are given full administrative access to the servers in this environment. These individuals are members of the &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/10/02/active-directory-domain-structure-in-the-jameson-datacenter.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/10/02/active-directory-domain-structure-in-the-jameson-datacenter.aspx"&gt;&lt;STRONG&gt;Development Admins&lt;/STRONG&gt;&lt;/A&gt; domain group. In order to avoid having to explicitly add this domain group to the local &lt;STRONG&gt;Administrators&lt;/STRONG&gt; group on each server in DEV, you can instead manage the group membership through Group Policy. Thus, whenever the Development team "spins up" a new server for their environment, all of the Development team leads are granted administrative access as soon as the server is joined to the domain.&lt;/P&gt;
&lt;P&gt;To address this scenario in the "Jameson Datacenter", I have defined a Group Policy (named &lt;STRONG&gt;Development - Restricted Groups Policy&lt;/STRONG&gt;) with the following settings:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Computer Configuration&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Policies&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows Settings&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Security Settings&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Restricted Groups&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Group Name: Administrators&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Members: TECHTOOLBOX\Development Admins, TECHTOOLBOX\Domain Admins&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;By linking this Group Policy to the appropriate OU (i.e. &lt;STRONG&gt;Development/Resources/Servers&lt;/STRONG&gt;) the members of the local &lt;STRONG&gt;Administrators &lt;/STRONG&gt;group are automatically configured as soon as I join a new DEV server to the domain and reboot.&lt;/P&gt;
&lt;P&gt;See &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/10/15/managing-group-membership-via-group-policy-part-2.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/10/15/managing-group-membership-via-group-policy-part-2.aspx"&gt;Part 2 of this post &lt;/A&gt;for an alternate method of managing group membership through Group Policy.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9907620" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/My+System/default.aspx">My System</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Simplify/default.aspx">Simplify</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category></item><item><title>Enabling Remote Desktop via Group Policy</title><link>http://blogs.msdn.com/jjameson/archive/2009/10/14/enabling-remote-desktop-via-group-policy.aspx</link><pubDate>Wed, 14 Oct 2009 12:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9907125</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9907125.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9907125</wfw:commentRss><description>&lt;P&gt;In a previous post, I provided some details on the &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx"&gt;"Jameson Datacenter"&lt;/A&gt; (a.k.a. my home lab). In a follow-up post, I also discussed the &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/10/02/active-directory-domain-structure-in-the-jameson-datacenter.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/10/02/active-directory-domain-structure-in-the-jameson-datacenter.aspx"&gt;Active Directory domain structure&lt;/A&gt; and mentioned how I use the Group Policy feature of Active Directory to "effortlessly" configure new servers. &lt;/P&gt;
&lt;P&gt;For example, I have defined a Group Policy (named &lt;STRONG&gt;Enable Terminal Services Policy&lt;/STRONG&gt;) with the following settings:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Computer Configuration&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Policies&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows Settings&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Security Settings&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows Firewall with Advanced Security&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Inbound Rules&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Remote Desktop (TCP-In)&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Enabled: Yes&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Action: Allow&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Administrative Templates&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows Components&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Terminal Services&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Terminal Server&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Connections&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Allow users to connect remotely using Terminal Services: Enabled&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;By linking this Group Policy to the appropriate OUs (e.g. &lt;STRONG&gt;Development/Resources/Servers&lt;/STRONG&gt;) I do not have to manually enable Remote Desktop connections on each new server (e.g. a new SharePoint development VM). Instead this is automatically configured as soon as I join a server to the domain and reboot.&lt;/P&gt;
&lt;P&gt;I'll cover some of the other Group Policy objects in subsequent posts.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9907125" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/My+System/default.aspx">My System</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category></item><item><title>Why choose "Server Core" installation of Windows Server 2008?</title><link>http://blogs.msdn.com/jjameson/archive/2009/06/04/why-choose-server-core-installation-of-windows-server-2008.aspx</link><pubDate>Fri, 05 Jun 2009 03:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9700354</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9700354.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9700354</wfw:commentRss><description>&lt;P&gt;If you ever find yourself looking for reasons or evidence why you should choose the "Server Core" installation option for Windows Server 2008, try searching for the following:&lt;/P&gt;
&lt;BLOCKQUOTE class=directQuote&gt;&lt;A href="http://www.bing.com/search?q=%22Windows+Server+2008+Server+Core+installation+not+affected%22+site%3Amicrosoft.com%2Ftechnet%2Fsecurity" mce_href="http://www.bing.com/search?q=%22Windows+Server+2008+Server+Core+installation+not+affected%22+site%3Amicrosoft.com%2Ftechnet%2Fsecurity"&gt;"Windows Server 2008 Server Core installation not affected" site:microsoft.com/technet/security&lt;/A&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You will find page after page of results similar to the following:&lt;/P&gt;
&lt;BLOCKQUOTE class=searchResults&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/technet/security/Bulletin/MS08-054.mspx" mce_href="http://www.microsoft.com/technet/security/Bulletin/MS08-054.mspx"&gt;Microsoft Security Bulletin MS08-054 – Critical&lt;/A&gt;&lt;BR&gt;&lt;STRONG&gt;Windows Server 2008 server core installation not affected&lt;/STRONG&gt;. The vulnerability addressed by this update does not affect supported editions of Windows Server 2008 if Windows Server ... &lt;BR&gt;&lt;CITE&gt;www.microsoft.com/technet/security/Bulletin/MS08-054.mspx&lt;/CITE&gt; · &lt;A href="http://cc.bingj.com/cache.aspx?q=%22windows+server+2008+server+core+installation+not+affected%22&amp;amp;d=76133794257994&amp;amp;mkt=en-US&amp;amp;setlang=en-US&amp;amp;w=e671a5b0,e59d79e9" mce_href="http://cc.bingj.com/cache.aspx?q=%22windows+server+2008+server+core+installation+not+affected%22&amp;amp;d=76133794257994&amp;amp;mkt=en-US&amp;amp;setlang=en-US&amp;amp;w=e671a5b0,e59d79e9"&gt;Cached page&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/technet/security/bulletin/ms08-078.mspx" mce_href="http://www.microsoft.com/technet/security/bulletin/ms08-078.mspx"&gt;Microsoft Security Bulletin MS08-078 - Critical&lt;/A&gt;&lt;BR&gt;&lt;A href="http://www.bing.com/search?q=%22Windows+Server+2008+Server+Core+installation+not+affected%22+site%3Amicrosoft.com%2Ftechnet%2Fsecurity#" mce_href="http://www.bing.com/search?q=%22Windows+Server+2008+Server+Core+installation+not+affected%22+site%3Amicrosoft.com%2Ftechnet%2Fsecurity#"&gt;&lt;/A&gt;&lt;STRONG&gt;Windows Server 2008 server core installation not affected&lt;/STRONG&gt;. The vulnerabilities addressed by this update do not affect supported editions of Windows Server 2008 if Windows Server ... &lt;BR&gt;&lt;CITE&gt;www.microsoft.com/technet/security/bulletin/ms08-078.mspx&lt;/CITE&gt; · &lt;A href="http://cc.bingj.com/cache.aspx?q=%22windows+server+2008+server+core+installation+not+affected%22&amp;amp;d=76162242072335&amp;amp;mkt=en-US&amp;amp;setlang=en-US&amp;amp;w=c3f59bce,63fef00c" mce_href="http://cc.bingj.com/cache.aspx?q=%22windows+server+2008+server+core+installation+not+affected%22&amp;amp;d=76162242072335&amp;amp;mkt=en-US&amp;amp;setlang=en-US&amp;amp;w=c3f59bce,63fef00c"&gt;Cached page&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/technet/security/Bulletin/MS08-053.mspx" mce_href="http://www.microsoft.com/technet/security/Bulletin/MS08-053.mspx"&gt;Microsoft Security Bulletin MS08-053 – Critical&lt;/A&gt;&lt;BR&gt;&lt;A href="http://www.bing.com/search?q=%22Windows+Server+2008+Server+Core+installation+not+affected%22+site%3Amicrosoft.com%2Ftechnet%2Fsecurity#" mce_href="http://www.bing.com/search?q=%22Windows+Server+2008+Server+Core+installation+not+affected%22+site%3Amicrosoft.com%2Ftechnet%2Fsecurity#"&gt;&lt;/A&gt;&lt;STRONG&gt;Windows Server 2008 server core installation not affected&lt;/STRONG&gt;. The vulnerability addressed by this update does not affect supported editions of Windows Server 2008 if Windows Server ... &lt;BR&gt;&lt;CITE&gt;www.microsoft.com/technet/security/Bulletin/MS08-053.mspx&lt;/CITE&gt; · &lt;A href="http://cc.bingj.com/cache.aspx?q=%22windows+server+2008+server+core+installation+not+affected%22&amp;amp;d=76116313320319&amp;amp;mkt=en-US&amp;amp;setlang=en-US&amp;amp;w=92aafff1,c365475a" mce_href="http://cc.bingj.com/cache.aspx?q=%22windows+server+2008+server+core+installation+not+affected%22&amp;amp;d=76116313320319&amp;amp;mkt=en-US&amp;amp;setlang=en-US&amp;amp;w=92aafff1,c365475a"&gt;Cached page&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/technet/security/Bulletin/MS08-024.mspx" mce_href="http://www.microsoft.com/technet/security/Bulletin/MS08-024.mspx"&gt;Microsoft Security Bulletin MS08-024 - Critical: Cumulative Security ... &lt;/A&gt;&lt;BR&gt;&lt;STRONG&gt;Windows Server 2008 server core installation not affected&lt;/STRONG&gt;. The vulnerabilities addressed by these updates do not affect supported editions of Windows Server 2008 if Windows Server ... &lt;BR&gt;&lt;CITE&gt;www.microsoft.com/technet/security/Bulletin/MS08-024.mspx&lt;/CITE&gt; · &lt;A href="http://cc.bingj.com/cache.aspx?q=%22windows+server+2008+server+core+installation+not+affected%22&amp;amp;d=76113650584856&amp;amp;mkt=en-US&amp;amp;setlang=en-US&amp;amp;w=f7f0adec,d0a922b0" mce_href="http://cc.bingj.com/cache.aspx?q=%22windows+server+2008+server+core+installation+not+affected%22&amp;amp;d=76113650584856&amp;amp;mkt=en-US&amp;amp;setlang=en-US&amp;amp;w=f7f0adec,d0a922b0"&gt;Cached page&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/technet/security/bulletin/ms08-052.mspx" mce_href="http://www.microsoft.com/technet/security/bulletin/ms08-052.mspx"&gt;Microsoft Security Bulletin MS08-052 – Critical&lt;/A&gt;&lt;BR&gt;&lt;STRONG&gt;Windows Server 2008 Server Core installation not affected&lt;/STRONG&gt;. The vulnerabilities addressed by this update do not affect supported editions of Windows Server 2008 if Windows Server ... &lt;BR&gt;&lt;CITE&gt;www.microsoft.com/technet/security/bulletin/ms08-052.mspx&lt;/CITE&gt; · &lt;A href="http://cc.bingj.com/cache.aspx?q=%22windows+server+2008+server+core+installation+not+affected%22&amp;amp;d=76123006445241&amp;amp;mkt=en-US&amp;amp;setlang=en-US&amp;amp;w=59991b53,79c72b54" mce_href="http://cc.bingj.com/cache.aspx?q=%22windows+server+2008+server+core+installation+not+affected%22&amp;amp;d=76123006445241&amp;amp;mkt=en-US&amp;amp;setlang=en-US&amp;amp;w=59991b53,79c72b54"&gt;Cached page&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Seeing all these results is refreshing when I think back on the challenges I had to overcome when building out my first Hyper-V server using the Server Core installation, such as &lt;A href="http://blogs.msdn.com/jjameson/archive/2008/08/28/some-gotchas-with-remote-administration-of-hyper-v.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2008/08/28/some-gotchas-with-remote-administration-of-hyper-v.aspx"&gt;configuring remote administration of Hyper-V&lt;/A&gt;, or whenever I need to view PerfMon data on a Server Core machine (which is trivial on a "Full" installation, but not quite so easy on a Server Core installation).&lt;/P&gt;
&lt;P&gt;Thanks to Ana Paula Moreira Franco, a Senior Consultant with Microsoft Consulting Services in Brazil, for pointing out these search terms.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9700354" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/Simplify/default.aspx">Simplify</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Virtualization/default.aspx">Virtualization</category></item><item><title>Update on Patching and Disk Space Usage</title><link>http://blogs.msdn.com/jjameson/archive/2009/06/03/update-on-patching-and-disk-space-usage.aspx</link><pubDate>Wed, 03 Jun 2009 17:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9691343</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9691343.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9691343</wfw:commentRss><description>&lt;P&gt;About a year ago, I wrote a post about &lt;A href="http://blogs.msdn.com/jjameson/archive/2007/06/23/save-huge-amounts-of-disk-space-by-slipstreaming-service-packs.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2007/06/23/save-huge-amounts-of-disk-space-by-slipstreaming-service-packs.aspx"&gt;saving huge amounts of disk space by slipstreaming service packs&lt;/A&gt;. Having just been through an &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/06/01/errors-installing-windows-server-2008-sp2.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/06/01/errors-installing-windows-server-2008-sp2.aspx"&gt;ordeal&lt;/A&gt; installing Windows Server 2008 SP2, I thought it would be worthwhile to provide an update (since that original post refers to disk space usage with Windows Server 2003).&lt;/P&gt;
&lt;P&gt;Note that since my original post, I have switched from using Virtual Server in favor of Hyper-V. Among other things, this allows me to run x64 virtual machines (VMs). Many months ago, I consolidated numerous physical machines onto a couple of "Server Core" machines running Hyper-V. In that time, I've also switched to running Windows Vista x64 on my primary desktop and Windows Server 2008 x64 on my laptop.&lt;/P&gt;
&lt;P&gt;One of the things that I've noticed is that x64 versions of the operating system tend to use more disk space than their corresponding x86 equivalents. In particular, the "side-by-side" folder (WinSxS) is typically significantly larger on x64 installations. The storage differences are negligible on my physical machines, but on VMs I make a deliberate effort to "clamp down" the size of the VHDs. This can save me considerable time when copying VHDs from one server to another or from an internal hard drive to an external hard drive whenever I need to take one or more of them "on the road" with me.&lt;/P&gt;
&lt;P&gt;Minimizing VHD sizes also allows me to cram more VMs onto my 100 GB external drive [I know, these days this isn't very big from a capacity perspective, but at least it's 7200 RPM (a &lt;A href="http://blogs.msdn.com/jjameson/archive/2007/06/24/performance-of-virtual-machines.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2007/06/24/performance-of-virtual-machines.aspx"&gt;must&lt;/A&gt; for running VMs) and it isn't nearly as bulky as my larger drive enclosure. It also doesn't require a separate power supply either.]&lt;/P&gt;
&lt;P&gt;Here is a baseline of the disk space usage on a Windows Server 2008 Standard x64 VM:&lt;/P&gt;
&lt;DIV class=image&gt;&lt;IMG title="" alt="" src="http://blogs.msdn.com/photos/jjameson/images/9691084/500x357.aspx" width=500 height=357 mce_src="http://blogs.msdn.com/photos/jjameson/images/9691084/500x357.aspx"&gt; 
&lt;DIV class=caption&gt;Figure 1: Disk usage on Windows Server 2008 Standard x64 VM (baseline)&lt;/DIV&gt;
&lt;DIV class=imageLink&gt;&lt;A href="http://blogs.msdn.com/photos/jjameson/images/9691084/original.aspx" target=_blank mce_href="http://blogs.msdn.com/photos/jjameson/images/9691084/original.aspx"&gt;See full-sized image.&lt;/A&gt; &lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Notice that the total disk usage is about 7.5 GB and the Windows folder consumes a little over 7 GB. Also note that Windows Server 2008 included SP1 (i.e. Microsoft slipstreamed it into the initial installation in order to simplify the servicing model for both Windows Server 2008 and Windows Vista).&lt;/P&gt;
&lt;P&gt;I then immediately installed Windows Server 2008 SP2 and captured the following:&lt;/P&gt;
&lt;DIV class=image&gt;&lt;IMG title="" alt="" src="http://blogs.msdn.com/photos/jjameson/images/9691093/500x360.aspx" width=500 height=360 mce_src="http://blogs.msdn.com/photos/jjameson/images/9691093/500x360.aspx"&gt; 
&lt;DIV class=caption&gt;Figure 2: Disk usage on Windows Server 2008 x64 VM (after installing SP2)&lt;/DIV&gt;
&lt;DIV class=imageLink&gt;&lt;A href="http://blogs.msdn.com/photos/jjameson/images/9691093/original.aspx" target=_blank mce_href="http://blogs.msdn.com/photos/jjameson/images/9691093/original.aspx"&gt;See full-sized image.&lt;/A&gt; &lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Observe that the Windows folder now consumes a little over 10 GB of storage. Ouch...3 GB for a service pack. That seems a little, um, &lt;EM&gt;irritating&lt;/EM&gt; -- for VMs, anyway. Obviously for physical machines with 100+ GB hard drives, the additional space is trivial.&lt;/P&gt;
&lt;P&gt;I then ran the Windows Component Clean tool (COMPCLN.exe) as described in my &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/06/02/reclaiming-disk-space-after-installing-service-pack-2.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/06/02/reclaiming-disk-space-after-installing-service-pack-2.aspx"&gt;previous post&lt;/A&gt;, which reclaimed approximately 900 MB of space.&lt;/P&gt;
&lt;DIV class=image&gt;&lt;IMG title="" alt="" src="http://blogs.msdn.com/photos/jjameson/images/9691098/500x360.aspx" width=500 height=360 mce_src="http://blogs.msdn.com/photos/jjameson/images/9691098/500x360.aspx"&gt; 
&lt;DIV class=caption&gt;Figure 3: Disk usage on Windows Server 2008 x64 VM (after installing SP2 and running COMPCLN.exe)&lt;/DIV&gt;
&lt;DIV class=imageLink&gt;&lt;A href="http://blogs.msdn.com/photos/jjameson/images/9691098/original.aspx" target=_blank mce_href="http://blogs.msdn.com/photos/jjameson/images/9691098/original.aspx"&gt;See full-sized image.&lt;/A&gt; &lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Notice that the Windows folder now consumes about 8.5 GB of space (but the overall free space on the 20 GB VHD increased from roughly 9.7 GB to 10.6 GB). In other words, SP2 adds roughly 3 GB, but COMPCLN.exe trims this to a little over 2 GB.&lt;/P&gt;
&lt;P&gt;Lastly, I want to point out the current disk space usage on COLOSSUS -- an x64 VM that I run WSUS (Windows Server Update Services) for managing patches and updates on the various machines in the &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx"&gt;"Jameson Datacenter."&lt;/A&gt; Note that this server only has WSUS (which requires IIS and SQL Server) but nothing else. Consequently, after installing Windows Server 2008 SP2 and running COMPCLN.exe, I was hoping it would have comparable disk space usage to that shown in Figure 3 (after deducting the space used by the WSUS database, of course).&lt;/P&gt;
&lt;P&gt;Unfortunately, it isn't even close, as shown in the following figure.&lt;/P&gt;
&lt;DIV class=image&gt;&lt;IMG title="" alt="" src="http://blogs.msdn.com/photos/jjameson/images/9691250/495x375.aspx" width=495 height=375 mce_src="http://blogs.msdn.com/photos/jjameson/images/9691250/495x375.aspx"&gt; 
&lt;DIV class=caption&gt;Figure 4: Disk usage on a patched WSUS server (after installing SP2)&lt;/DIV&gt;
&lt;DIV class=imageLink&gt;&lt;A href="http://blogs.msdn.com/photos/jjameson/images/9691250/original.aspx" target=_blank mce_href="http://blogs.msdn.com/photos/jjameson/images/9691250/original.aspx"&gt;See full-sized image.&lt;/A&gt; &lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Notice that the Windows folder on COLOSSUS consumes almost 16.5 GB of space, of which roughly 10.5 GB is used by the WinSxS folder.&lt;/P&gt;
&lt;P&gt;The lesson here is that you should expect some "bloat" in the Windows folder over time (largely due to the WinSxS folder), and while the Windows Component Clean tool (COMPCLN.exe) undeniably reclaims &lt;EM&gt;some&lt;/EM&gt; hard drive space after installing SP2, it's definitely not the same as starting with a "fresh" SP2 install.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9691343" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Virtualization/default.aspx">Virtualization</category></item><item><title>Reclaiming Disk Space After Installing Service Pack 2</title><link>http://blogs.msdn.com/jjameson/archive/2009/06/02/reclaiming-disk-space-after-installing-service-pack-2.aspx</link><pubDate>Tue, 02 Jun 2009 16:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9685402</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9685402.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9685402</wfw:commentRss><description>&lt;P&gt;In yesterday's &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/06/01/errors-installing-windows-server-2008-sp2.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/06/01/errors-installing-windows-server-2008-sp2.aspx"&gt;post&lt;/A&gt;, I noted the errors I encountered when trying to install Windows Server 2008 Service Pack 2 (SP2) due to "insufficient" disk space. I ended up having to expand numerous VHDs (one for each of my VMs running Windows Server 2008 x64) in order to have roughly 5 GB of free space to allow SP2 to install.&lt;/P&gt;
&lt;P&gt;Note that SP2 certainly didn't use the 5 GB of free space, but apparently it insists on having that much for some "factor of safety" during the install.&lt;/P&gt;
&lt;P&gt;Note that SP2 for Windows Server 2008 and Windows Vista include a new tool which helps recover hard disk space: the Windows Component Clean Tool (COMPCLN.exe). According to the &lt;A href="http://technet.microsoft.com/en-us/library/dd351467(WS.10).aspx" mce_href="http://technet.microsoft.com/en-us/library/dd351467(WS.10).aspx"&gt;Windows Server 2008 SP2 Deployment Guide&lt;/A&gt; this tool permanently removes the files that are archived after Windows Vista SP2 or Windows Server 2008 SP2 is applied. It also removes the files that were archived after Windows Vista SP1 was applied, if they are found on the system.&lt;/P&gt;
&lt;P&gt;The deployment guide also states that "running this tool is optional" -- however I, personally, highly recommend it. Of course, you have to weigh this decision with the probability that you will need to uninstall SP2 -- which, in my case, is essentially "zilch."&lt;/P&gt;
&lt;P&gt;On my x64 VMs, running COMPCLN.exe freed up roughly 800 MB of disk space. This might not seem like a lot -- given that many hard drives these days exceed 1 TB -- but it is very significant on VHDs that you are trying to keep as "lean" as possible.&lt;/P&gt;
&lt;P&gt;Note that I'm still a little disappointed in the disk space requirements for SP2. Up until yesterday I had been running each of my&amp;nbsp;domain controller VMs on 16 GB VHDs, and many of my other VMs on 20-22 GB VHDs. Note that on some of those VMs, disk space was certainly getting tight -- due to all of the patches that have been installed since I originally built them -- but they were functioning just fine until Windows Server 2008 SP2 came along. Although I have to say that on a 20 GB VHD, a WinSxS folder consuming 8-10 GB seems a little ridiculous.&lt;/P&gt;
&lt;P&gt;I ended up having to expand the system VHD for my MOSS 2007 development VM to 25 GB -- which I really didn't want to do -- since it essentially gives the SharePoint Unified Logging System another 5 GB of free space to fill with &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/03/26/sharepoint-uls-logs-flooded-with-preserving-template-record-with-size.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/03/26/sharepoint-uls-logs-flooded-with-preserving-template-record-with-size.aspx"&gt;useless log messages&lt;/A&gt;. [That is, of course, until I get the April 2009 Cumulative Update installed -- which supposedly fixes this issue.]&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9685402" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category></item><item><title>Errors Installing Windows Server 2008 SP2</title><link>http://blogs.msdn.com/jjameson/archive/2009/06/01/errors-installing-windows-server-2008-sp2.aspx</link><pubDate>Mon, 01 Jun 2009 17:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9678127</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9678127.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9678127</wfw:commentRss><description>&lt;P&gt;Last week I approved Windows Server 2008 Service Pack 2 (SP2) and Windows Vista SP2 on my local WSUS (Windows Server Update Services) server. My expectation was that the various physical and virtual machines in the &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx"&gt;"Jameson Datacenter"&lt;/A&gt; would subsequently install the update around 3:00 AM the following morning.&lt;/P&gt;
&lt;P&gt;Unfortunately when I examined the WSUS console this morning, I found a number of computers reporting errors. After selecting one of the failed computers, I discovered the following:&lt;/P&gt;
&lt;BLOCKQUOTE class=directQuote&gt;
&lt;P&gt;Windows Server 2008 Service Pack 2 Standalone x64-based Systems (KB948465) - English, French, German, Japanese, Spanish&lt;/P&gt;
&lt;P&gt;Event reported at 6/1/2009 3:02 AM:&lt;/P&gt;
&lt;P&gt;Installation Failure: Windows failed to install the following update with error 0x80070643: Windows Server 2008 Service Pack 2 Standalone x64-based Systems (KB948465) - English, French, German, Japanese, Spanish.&lt;BR&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;A quick search for 0x80070643 led to the following KB article:&lt;/P&gt;
&lt;DIV class=reference&gt;&lt;CITE&gt;You receive error code 0x80070643 or error code 0x643 when you use the Windows Update or Microsoft Update Web sites to install updates&lt;/CITE&gt; 
&lt;DIV class=referenceLink&gt;&lt;A href="http://support.microsoft.com/kb/958052" mce_href="http://support.microsoft.com/kb/958052"&gt;http://support.microsoft.com/kb/958052&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Unfortunately, this error code indicates "generic errors that basically state that an error was encountered by Windows Installer." Rather than immediately following the steps in the KB article to enable logging and try to reproduce the problem, I decided to take a quick look at the event logs and discovered the following:&lt;/P&gt;
&lt;BLOCKQUOTE class=directQuote&gt;Log Name: System&lt;BR&gt;Source: Microsoft-Windows-Service Pack Installer&lt;BR&gt;Date: 6/1/2009 3:02:00 AM&lt;BR&gt;Event ID: 8&lt;BR&gt;Task Category: None&lt;BR&gt;Level: Error&lt;BR&gt;Keywords: &lt;BR&gt;User: SYSTEM&lt;BR&gt;Computer: dazzler.corp.technologytoolbox.com&lt;BR&gt;Description:&lt;BR&gt;Service Pack installation failed with error code 0x800f0826.&lt;BR&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Another quick search for 0x800f0826 suggested that the problem might be due to insufficient disk space. However, I checked the free space on DAZZLER and observed that it had 4.09 GB free. Surely, 4 GB of disk space is sufficient to install Windows Server 2008 SP2!&lt;/P&gt;
&lt;P&gt;Then I came across the following:&lt;/P&gt;
&lt;DIV class=reference&gt;&lt;CITE&gt;Windows Server 2008 SP2 Deployment Guide&lt;/CITE&gt; 
&lt;DIV class=referenceLink&gt;&lt;A href="http://technet.microsoft.com/en-us/library/dd351467(WS.10).aspx" mce_href="http://technet.microsoft.com/en-us/library/dd351467(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/dd351467(WS.10).aspx&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Here are the disk space requirements according to the deployment guide:&lt;/P&gt;
&lt;TABLE class=accent1 cellSpacing=0 class="accent1"&gt;
&lt;CAPTION&gt;Disk Space Requirements for Windows Server 2008 SP2&lt;/CAPTION&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH&gt;Installation method&lt;/TH&gt;
&lt;TH&gt;Approximate disk space requirements&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;Stand-alone installation&lt;/TD&gt;
&lt;TD&gt;
&lt;UL&gt;
&lt;LI&gt;x86-based: 1.8 GB to 2.9 GB&lt;/LI&gt;
&lt;LI&gt;x64-based: 3.2 GB to 4.9 GB&lt;/LI&gt;
&lt;LI&gt;ia64-based: 2.9 GB to 3.2 GB &lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Windows Update&lt;/TD&gt;
&lt;TD&gt;
&lt;UL&gt;
&lt;LI&gt;x86-based: 350 MB&lt;/LI&gt;
&lt;LI&gt;x64-based: 600 MB&lt;/LI&gt;
&lt;LI&gt;ia64-based: 2.25 GB &lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Integrated installation&lt;/TD&gt;
&lt;TD&gt;
&lt;UL&gt;
&lt;LI&gt;x86-based: 9 GB&lt;/LI&gt;
&lt;LI&gt;x64-based: 12 GB&lt;/LI&gt;
&lt;LI&gt;ia64-based: 13 GB&lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Crikey! According to this table, DAZZLER needs up to 4.9 GB of free space in order to install the Service Pack (since it is an x64 VM). Wow!&lt;/P&gt;
&lt;P&gt;This, quite honestly, seems absolutely absurd!&lt;/P&gt;
&lt;P&gt;However, given that it is relatively easy to expand a VHD, I decided to just go ahead and add another 2 GB to the system drive on the VM and see if that eliminated the issue. After all, as long as SP2 doesn't actually use 4.9 GB of space, then the actual physical space consumed by the VHD should be significantly less than 5 GB.&lt;/P&gt;
&lt;P&gt;Using &lt;STRONG&gt;Hyper-V Manager&lt;/STRONG&gt;, I expanded the VHD from 20 GB to 22 GB and then started the VM up again. I then logged into the VM and used the &lt;STRONG&gt;Disk Management &lt;/STRONG&gt;console to extend the volume to include the additional 2 GB of available storage.&lt;/P&gt;
&lt;P&gt;Next, I kicked off the installation of Windows Server 2008 SP2 again. This time the installation completed without error. Woohoo!&lt;/P&gt;
&lt;P&gt;Note that DAZZLER is a dedicated Team Foundation Server "build server" -- so I didn't expect that it would need lots of disk space. In fact, it didn't -- at least not until Windows Server 2008 SP2 came along.&lt;/P&gt;
&lt;P&gt;Now all I have to do is add some more disk space to the other servers that are failing to install SP2.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9678127" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/WSUS/default.aspx">WSUS</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category></item><item><title>Redirecting stderr to stdout</title><link>http://blogs.msdn.com/jjameson/archive/2009/03/27/redirecting-stderr-to-stdout.aspx</link><pubDate>Fri, 27 Mar 2009 14:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9513855</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9513855.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9513855</wfw:commentRss><description>&lt;P&gt;Yesterday I replied to an email from a teammate in which I incorrectly stated that you can't redirect &lt;CODE&gt;stderr&lt;/CODE&gt; to &lt;CODE&gt;stdout&lt;/CODE&gt; in DOS -- er, I mean a &lt;EM&gt;command window&lt;/EM&gt; in Microsoft Windows.&lt;/P&gt;
&lt;P&gt;I would have sworn the last time I tried something like the following in Windows Server 2003 (a couple of years ago), I got an error message:&lt;/P&gt;
&lt;DIV class=consoleBlock&gt;&lt;SAMP&gt;"Redeploy Features.cmd" &amp;gt; tmp.log 2&amp;gt;&amp;amp;1 &lt;/SAMP&gt;&lt;/DIV&gt;
&lt;P&gt;Fortunately another teammate on the thread, &lt;A href="http://blogs.msdn.com/pnayak" mce_href="http://blogs.msdn.com/pnayak"&gt;Prashant Nayak&lt;/A&gt;, experimented with this and confirmed that it actually &lt;EM&gt;does&lt;/EM&gt; work. Thanks, Prashant, for setting the record straight!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9513855" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/Core+Development/default.aspx">Core Development</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category></item><item><title>Server Core Installation - "Accessing Windows in Notification period"</title><link>http://blogs.msdn.com/jjameson/archive/2008/11/05/server-core-installation-accessing-windows-in-notification-period.aspx</link><pubDate>Wed, 05 Nov 2008 17:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9044393</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9044393.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9044393</wfw:commentRss><description>&lt;P&gt;I had a rather rough start this morning.&lt;/P&gt;
&lt;P&gt;When I attempted to boot up my primary workstation and login, I kept encountering a problem loading my roaming profile. I could login to Vista, but my desktop was blank and I kept getting prompted to enter my credentials to access the server (BEAST) where my user profile is stored. My first thought was that BEAST was either locked up or disconnected from the network (although I was really puzzled because the only times I can remember this server failing is when we experience a power outage). Plus, if the server was actually down I should have seen a message about not being able to load my profile -- not a dialog prompting for my credentials.&lt;/P&gt;
&lt;P&gt;Using my KVM switch, I toggled over to the BEAST console and logged in. I noticed the login took considerably longer than usual, but using a couple of ping operations from the command-line, I verified the network was up and running.&lt;/P&gt;
&lt;P&gt;I then tried to switch over to my other server running Hyper-V (ROGUE), which hosts my domain controller -- or actually, I should say domain controllers, since I recently built out a second DC when I virtualized my original domain controller (XAVIER). In other words, ROGUE is now running XAVIER1 and XAVIER2 -- two Windows Server 2008 VMs with the &lt;STRONG&gt;Active Directory Domain Services &lt;/STRONG&gt;role enabled.&lt;/P&gt;
&lt;P&gt;Unfortunately, I got "no love" from ROGUE when I tried to login. The screen was blank and no amount of &lt;KBD&gt;CTRL+ALT+DELETE&lt;/KBD&gt; combinations could resuscitate it. I then checked the physical server to ensure the it hadn't somehow been turned off. Unfortunately, the "lights were on, but nobody was home", so I forced a hard reboot. (I really hate doing that -- especially on a Hyper-V server running 5 VMs. Oh well, desperate times call for...well, you know the rest.&lt;/P&gt;
&lt;P&gt;After ROGUE rebooted, I noticed that I still had problems accessing it. When I was finally able to examine the event log, I discovered the following:&lt;/P&gt;
&lt;BLOCKQUOTE class=directQuote&gt;Log Name: Application&lt;BR&gt;Source: Microsoft-Windows-Winlogon&lt;BR&gt;Date: 11/5/2008 6:04:29 AM&lt;BR&gt;Event ID: 4104&lt;BR&gt;Task Category: None&lt;BR&gt;Level: Information&lt;BR&gt;Keywords: Classic&lt;BR&gt;User: N/A&lt;BR&gt;Computer: ROGUE.corp.technologytoolbox.com&lt;BR&gt;Description:&lt;BR&gt;Accessing Windows in Notification period.&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Ugh...from this I determined that it must have been exactly 61 days this morning since I rebuilt ROGUE with Windows Server 2008 (Server Core) and virtualized a couple of other physical servers. Apparently, I neglected to perform a vital configuration step -- specifically, setting the product key.&lt;/P&gt;
&lt;P&gt;For a Server Core installation, you need to use the Windows Software Licensing Management Tool (slmgr.vbs) to enter the product key:&lt;/P&gt;
&lt;DIV class=consoleBlock&gt;&lt;SAMP&gt;slmgr.vbs -ipk &amp;lt;Product Key&amp;gt;&lt;/SAMP&gt; &lt;/DIV&gt;
&lt;P&gt;After changing the product key, you then need to activate Windows:&lt;/P&gt;
&lt;DIV class=consoleBlock&gt;&lt;SAMP&gt;slmgr.vbs -ato&lt;/SAMP&gt; &lt;/DIV&gt;
&lt;P&gt;In my opinion, the fact that the Windows Server 2008 setup does not prompt for a product key is problematic. At least this is true for the MSDN version (which I use to run the &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/09/14/the-jameson-datacenter.aspx"&gt;"Jameson Datacenter"&lt;/A&gt; -- a.k.a. my home lab). I understand that many organizations use volume licensing (and &lt;A href="http://technet.microsoft.com/en-us/library/cc303274.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc303274.aspx"&gt;volume activation&lt;/A&gt;), so I certainly can see why entering the product key at installation time should be optional. I would just prefer that it wasn't skipped altogether. Also, I know that I'm not the only one who has found it a little confusing to enter MSDN product keys for Windows Server 2008 after installation.&lt;/P&gt;
&lt;P&gt;Anyway, enough ranting -- I need to get back to my "day job" ;-)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9044393" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category></item><item><title>Some Gotchas with Remote Administration of Hyper-V</title><link>http://blogs.msdn.com/jjameson/archive/2008/08/28/some-gotchas-with-remote-administration-of-hyper-v.aspx</link><pubDate>Thu, 28 Aug 2008 16:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8903364</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/8903364.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=8903364</wfw:commentRss><description>&lt;P&gt;As I mentioned in my &lt;A href="http://blogs.msdn.com/jjameson/archive/2008/07/07/copy-paste-gotchas-with-server-core.aspx"&gt;previous post&lt;/A&gt;, last month I built out a new virtual environment using Hyper-V on Server Core. Since you can't run MMC -- and therefore Hyper-V Manager -- on Server Core, you need to use remote administration to manage the VMs.&lt;/P&gt;
&lt;P&gt;John Howard's &lt;A href="http://blogs.technet.com/jhoward/archive/2008/03/28/part-1-hyper-v-remote-management-you-do-not-have-the-requested-permission-to-complete-this-task-contact-the-administrator-of-the-authorization-policy-for-the-computer-computername.aspx" mce_href="http://blogs.technet.com/jhoward/archive/2008/03/28/part-1-hyper-v-remote-management-you-do-not-have-the-requested-permission-to-complete-this-task-contact-the-administrator-of-the-authorization-policy-for-the-computer-computername.aspx"&gt;blog series on Hyper-V Remote Management&lt;/A&gt; is by far the definitive source for getting Hyper-V up and running on Server Core. It provides an excellent step-by-step guide for enabling remote administration, opening various firewall ports, configuring DCOM permissions (if you don't want to use admin accounts), etc. If you haven't yet at least scanned John's posts, I highly recommend doing so before embarking on the Hyper-V on Server Core path.&lt;/P&gt;
&lt;P&gt;There is one snag, however, that I want to point out with regards to John's scenarios.&lt;/P&gt;
&lt;P&gt;The instructions in John’s blog posts work when:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;both the Hyper-V server and the client are in WORKGROUP mode, or&lt;/LI&gt;
&lt;LI&gt;when the client and server are members of the same domain or trusted domains, or&lt;/LI&gt;
&lt;LI&gt;when the Hyper-V server is in WORKGROUP but the client is in a domain&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;[Note that I personally verified the second and third scenarios above while initially building out my Hyper-V server; I am trusting that the first scenario works based on John’s posts.]&lt;/P&gt;
&lt;P&gt;However, if the client is a member of DOMAIN1 and the Hyper-V server is a member of DOMAIN2 – and there is no trust relationship between DOMAIN1 and DOMAIN2 – then Hyper-V Manager pukes with a message about not being able to connect to the RPC server. Also note that in this scenario Disk Management pukes as well with the infamous error message:&lt;/P&gt;
&lt;BLOCKQUOTE class="directQuote errorMessage"&gt;RPC server is unavailable&lt;/BLOCKQUOTE&gt;
&lt;P&gt;To picture this scenario, imagine you have a Hyper-V server joined to your internal domain, but now I come along and try to use Hyper-V Manager from my laptop which is joined to the internal Microsoft domain. It simply doesn't work -- and neither does Disk Management.&lt;/P&gt;
&lt;P&gt;At this point, you might be thinking something like “Jeremy, it sounds like a firewall issue or you haven’t enabled Remote Volume Management.” However, immediately after receiving the "RPC server is unavailable" message on my laptop, I was able to connect the Disk Management console to the Hyper-V server just fine from a Windows Server 2003 member server in the same domain.&lt;/P&gt;
&lt;P&gt;In my mind, that indicated the firewall and remote administration were configured correctly. After a little research, it appeared that I was hitting a known bug with WMI when the client and server are in different, untrusted domains.&lt;/P&gt;
&lt;P&gt;To workaround this issue, I did two things.&lt;/P&gt;
&lt;P&gt;First, I created a new Vista VM and joined it to my customer's internal domain. After installing the &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=BF909242-2125-4D06-A968-C8A3D75FF2AA&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=BF909242-2125-4D06-A968-C8A3D75FF2AA&amp;amp;displaylang=en"&gt;Hyper-V Remote Management Update for Windows Vista (KB952627)&lt;/A&gt;, I was able to start, stop, and create VMs on the Hyper-V server. Excellent.&lt;/P&gt;
&lt;P&gt;Second, since I didn't want to have to always fire up my Vista VM just to view or change the Hyper-V settings on the server, I installed the &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f3ab3d4b-63c8-4424-a738-baded34d24ed&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f3ab3d4b-63c8-4424-a738-baded34d24ed&amp;amp;DisplayLang=en"&gt;Hyper-V Update for Windows Server 2008 x64 Edition (KB950050)&lt;/A&gt; on one of the VMs running on the Hyper-V server. This obviously doesn't completely replace the need for a remote administration client due to the "Catch-22" scenario -- meaning, if the VM isn't running, you can't use Hyper-V Manager from the VM to start the VM ;-)&lt;/P&gt;
&lt;P&gt;Someday soon, I'm hoping we will&amp;nbsp;release a few command line tools for Hyper-V that allow you to perform some basic operations such as starting or stopping VMs. This would be great on Server Core -- and no, I don't want to install PowerShell in order to do this ;-)&amp;nbsp; [In keeping with the spirit of Server Core, I want to install as little as possible on the host.]&lt;/P&gt;
&lt;P&gt;Lastly, I want to point out one of the stumbling blocks that I encountered along the way. Before I actually created the Vista VM that I mentioned earlier for remote administration, I initially created a Windows Server 2008 x86 VM and installed the 32-bit version of &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=6F69D661-5B91-4E5E-A6C0-210E629E1C42&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=6F69D661-5B91-4E5E-A6C0-210E629E1C42&amp;amp;displaylang=en"&gt;KB950050&lt;/A&gt; in order to use Hyper-V Manager to remotely administer the Hyper-V server.&lt;/P&gt;
&lt;P&gt;According to the corresponding &lt;A href="http://support.microsoft.com/kb/950050" mce_href="http://support.microsoft.com/kb/950050"&gt;KB article&lt;/A&gt;:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;B&gt;Update for Windows Server 2008 (KB950050)&lt;/B&gt;&lt;BR&gt;This 32-bit update package includes the release version of the following:&lt;BR&gt;
&lt;UL&gt;
&lt;LI&gt;The Hyper-V Manager console&lt;/LI&gt;
&lt;LI&gt;The Virtual Machine Connection tool for x86-based editions of Windows Server 2008&lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Based on my experience installing the &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=BF909242-2125-4D06-A968-C8A3D75FF2AA&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=BF909242-2125-4D06-A968-C8A3D75FF2AA&amp;amp;displaylang=en"&gt;Hyper-V Remote Management Update for Windows Vista (KB952627)&lt;/A&gt; and the note above from the KB article, after installing KB950050 on Windows Server 2008 I expected to be able to start MMC and add the Hyper-V Manager snap-in. However, it doesn't quite work that way.&lt;/P&gt;
&lt;P&gt;Fortunately, I received a quick response to my inquiry from Alex Kibkalo, a fellow Architect with Microsoft Consulting Services in Russia.&lt;/P&gt;
&lt;P&gt;To enable Hyper-V Manager after installing KB950050, you need to enable the corresponding feature:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Open &lt;STRONG&gt;Server Manager&lt;/STRONG&gt;. (If Server Manager is not running, click &lt;STRONG&gt;Start&lt;/STRONG&gt;, point to &lt;STRONG&gt;Administrative Tools&lt;/STRONG&gt;, click &lt;STRONG&gt;Server Manager&lt;/STRONG&gt;, and then, if prompted for permission to continue, click &lt;STRONG&gt;Continue&lt;/STRONG&gt;.)&lt;/LI&gt;
&lt;LI&gt;In &lt;STRONG&gt;Server Manager&lt;/STRONG&gt;, under &lt;STRONG&gt;Features Summary&lt;/STRONG&gt;, click &lt;STRONG&gt;Add Features&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;In the &lt;STRONG&gt;Add Features Wizard&lt;/STRONG&gt;, on the &lt;STRONG&gt;Select Features &lt;/STRONG&gt;page, expand &lt;STRONG&gt;Remote Server Administration Tools&lt;/STRONG&gt;, and then expand &lt;STRONG&gt;Remote Administration Tools&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Click &lt;STRONG&gt;Hyper-V Tools&lt;/STRONG&gt;, and then proceed through the rest of the wizard.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;For more information on deploying Hyper-V, refer to the &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=5DA4058E-72CC-4B8D-BBB1-5E16A136EF42&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=5DA4058E-72CC-4B8D-BBB1-5E16A136EF42&amp;amp;displaylang=en"&gt;Hyper-V Planning and Deployment Guide&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8903364" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Virtualization/default.aspx">Virtualization</category></item><item><title>Copy/Paste Gotchas with Server Core</title><link>http://blogs.msdn.com/jjameson/archive/2008/07/07/copy-paste-gotchas-with-server-core.aspx</link><pubDate>Mon, 07 Jul 2008 21:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8703276</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/8703276.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=8703276</wfw:commentRss><description>&lt;P&gt;I'm building out a new virtualized environment using Windows Server 2008 and Hyper-V. In order to maximize performance and follow recommended best practices, I am using Server Core as the host OS.&lt;/P&gt;
&lt;P&gt;I have to admit, doing this much administration from the command line really brings back memories from my "old Unix days" (before I switched to the Microsoft platform). I'll also admit that I've had to do quite a bit of research in order to figure out which commands need to be run in order to get a "functional" server. Now please don't misunderstand me, I don't mind that Server Core doesn't really allow you to do much with its out-of-the-box configuration (after all, that's the whole point). It simply takes a little getting used to -- and, as is usually the case, the first time takes longer than you expected.&lt;/P&gt;
&lt;P&gt;I'll summarize some great resources I've found for working with Server Core and Hyper-V in a separate post sometime soon, but for now I wanted to share this little gotcha to save you the few minutes of frustration I spent trying to figure out what I was doing wrong.&lt;/P&gt;
&lt;P&gt;Since I needed to reconfigure the disks on the server, I opened the Disk Management MMC console on my Windows Vista laptop and connected to the server -- or, rather I should say that I &lt;EM&gt;tried &lt;/EM&gt;to connect to the server. Instead of connecting, I was greeted with the following error:&lt;/P&gt;
&lt;BLOCKQUOTE class="directQuote errorMessage"&gt;Disk Management could not start Virtual Disk Service (VDS) on DMX-CORE1-MAINT. This can happen if the remote computer does not support VDS, or if a connection cannot be established because it was blocked by Windows Firewall.&lt;/BLOCKQUOTE&gt;
&lt;P&gt;A quick Windows Live Search for &lt;A href="http://search.live.com/results.aspx?q=%22Disk+Management+could+not+start+Virtual+Disk+Service%22&amp;amp;form=QBRE" mce_href="http://search.live.com/results.aspx?q=%22Disk+Management+could+not+start+Virtual+Disk+Service%22&amp;amp;form=QBRE"&gt;"Disk Management could not start Virtual Disk Service"&lt;/A&gt; led me straight to &lt;A href="http://blogs.technet.com/askds/archive/2008/06/05/how-to-enable-remote-administration-of-server-core-via-mmc-using-netsh.aspx" mce_href="http://blogs.technet.com/askds/archive/2008/06/05/how-to-enable-remote-administration-of-server-core-via-mmc-using-netsh.aspx"&gt;LaNae Wade's post&lt;/A&gt; on enabling remote administration of Server Core. I then copied the command line for enabling the firewall rules for the Disk Management MMC snap-in and pasted it into my RDP session to the server:&lt;/P&gt;
&lt;DIV class=consoleBlock&gt;&lt;SAMP&gt;netsh advfirewall firewall set rule group="Remote Volume Management" new enable=yes&lt;/SAMP&gt; &lt;/DIV&gt;
&lt;P&gt;Unfortunately, the response wasn't exactly what I expected:&lt;/P&gt;
&lt;BLOCKQUOTE class="directQuote errorMessage"&gt;Group cannot be specified along with other identification conditions.&lt;/BLOCKQUOTE&gt;
&lt;P&gt;It turns out that the quotes around &lt;SAMP&gt;Remote Volume Management&lt;/SAMP&gt; were "corrupted", meaning they were converted to the angled quotes that tend to break things in very bizarre ways. The really frustrating part is that the command prompt makes the angled quotes appear just like regular quotes.&lt;/P&gt;
&lt;P&gt;Once I edited the command line to replace the quotation marks, the command completed with the expected results:&lt;/P&gt;
&lt;DIV class=codeBlock&gt;&lt;PRE&gt;C:\&amp;gt;netsh advfirewall firewall set rule group="Remote Volume Management" new enable=yes

Updated 3 rule(s).
Ok.&lt;/PRE&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8703276" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Infrastructure/default.aspx">Infrastructure</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Virtualization/default.aspx">Virtualization</category></item></channel></rss>