Configuring Servers for deployment as a Configuration Manager Distribution Point (DP)

In order to go from nothing to a finished, completed installation of a System Center Configuration Manager (ConfigMgr) client services role such as a Distribution Point (DP) requires that an administrator configures the future DP server automatically.  This includes a few key details that, often are missed, I will outline in today’s post.

Granting Central\Primary Site Server Administrator Privileges

Before you can even get started, the first step is to ensure that your server’s Primary Site Server has administrative privileges otherwise it will fail to install.  This is extremely simple to do using Windows built-in command net localgroup.image

The command, net localgroup administrators /add {Site Server Name}, is easy to call as part of your SCVMM Guest OS profile GUIRunOnce action used when you auto logon.  This command should work on Windows 2003 & Windows 2008 servers.

Configuring Server with IIS for a Configuration Manager Deployment

The next step is to ensure that you get the pre-requiristies laid down properly so that when the server comes online clients will have everything necessary to get serviced.  In this case, a DP requires IIS and as such you will need to configure your server to have IIS installed and prepared.

To review, the following requirements are needed to be a ConfigMgr DP:

Step Description
Install IIS By default, IIS isn’t installed by default on Windows Server 2008
Install Bits BITS is an additional Feature that is part of Windows Server 2008
Install WebDAV WebDAV is an HTTP extension (RFC 3716) that, unfortunately, is not available on Windows Server 2008 and has to get downloaded from Microsoft’s Download Center (x86 | x64)
Configure IIS For ConfigMgr, the DP requires custom configuration for WebDAV.

In order to be successful in automation, it is required that the server administrator automated this so let’s look at how to do this successfully.

Install IIS

This functionality is rather easy using the built-in Server Manager command-line interface (ServerManagerCmd) in Windows Server 2008.  To successfully install all features of IIS (we will not focus today on doing a scaled back install), use the following command:

image Command Line:  ServerManagerCmd –install Web-Server –allSubFeatures

Install BITS (Background Intelligent Transfer Services)

As mentioned earlier, BITS is a feature that requires IIS so you should install IIS first, BITS second.  Using, again, the same command ServerManagerCMD interface allows you to install both roles and features.  To install BITS, use the following command:

image Command Line:  ServerManagerCmd –install BITS

Install WebDAV

The downside here is that you will need to obtain WebDAV externally as it isn’t shipped in the Windows Server 2008 CD and instead was pushed as a download on the Microsoft Download Center.  The WebDAV installer is your standard MSI which means to “automate” you have to use msiexec.exe that is built-in to Windows.

The command to install WebDAV silently and without interaction is the following:

image Command Line:  msiexec /qna /i webDav_x86.msi

Configuring IIS for DPs

A final step that

In the following command/batch file (no error handling at all!) we use the AppCmd command-line tool to configure IIS7’s Default Web Site WebDAV configuration.  You can simply copy this code and place into a batch file and then call it via a command-line.  The command-line used in automation is cmd /c ConfigureDP.bat.

    1: c:\windows\system32\inetsrv\AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost
    2:  
    3: :\windows\system32\inetsrv\AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /+[users='*',path='*',access='Read'] /commit:apphost", 0, true
    4:  
    5: :\windows\system32\inetsrv\AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /properties.allowAnonymousPropfind:true /commit:apphost
    6:  
    7: :\windows\system32\inetsrv\AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /properties.allowCustomProperties:false /commit:apphost
    8:  
    9: :\windows\system32\inetsrv\AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /properties.allowInfinitePropfindDepth:true /commit:apphost
   10:  
   11: :\windows\system32\inetsrv\AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:true /commit:apphost
   12:  
   13: :\windows\system32\inetsrv\AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:true /commit:apphost
   14:  

I would recommend that you add some error handling.

Summary

In this post, I quickly shared with you how to automate taking a sysprep’d machine to now be a Web Server with the required features for a System Center Configuration Manager DP.  These steps could easily get defined via a single batch file which is the point but for now this is broken out to single steps.

Enjoy!

-Chris