Hydration Kit for ConfigMgr Technical Preview
Since the release of the ConfigMgr Technical Preview branch, we’ve seen monthly updates rolled out bringing new features and functionality for us to test with and essentially send feedback to Microsoft. In my experience, when approaching customers with installing a new ConfigMgr environment based on the Technical Preview branch, the majority hesitate due to the fact that they’d have to install and configure an additional environment. The Hydration Kit concept has been around for a while now, and broadly used in various lab environments, to get started with ConfigMgr. For Microsoft, telemetry for the ConfigMgr product is highly valuable as it serves to improve the product in many ways. And this is where the Technical Preview branch of ConfigMgr comes in. However, up until just recently, there has been no supported way of automating the installation of a ConfigMgr Technical Preview site. For those of you that have attempted to execute setup.exe with the /script parameter pointing to an INI file (just like you’d do for the regular unattended setup experience for ConfigMgr), may have noticed that the Technical Preview bits blocks this usage. To circumvent this behavior, there’s a way that you can configure the INI file, by adding a specific row in the [Identification] section. This method is not documented, however Microsoft has just recently officially approved of this method and it’s now completely supported to use for an unattended setup of ConfigMgr Technical Preview.
ConfigMgr Technical Preview is generally meant for companies to explore new features that are coming later in the ConfigMgr Current Branch release. When running a ConfigMgr Technical Preview environment, it’s important to keep it up to date, otherwise it will expire and you’ll not be able to continue using the environment. In order to prevent the environment from expiring, you’d have to install an update package (new Technical Preview version available as an in-console update) within 90 days from the installation date of your environment.
I’ve developed this hydration kit in order to improve the adoption rate of the Technical Preview branch of ConfigMgr. As of right now, since ConfigMgr Technical Preview 1610 has been released, the need for any in-console updates are not required, since 1610 is a new baseline build. However, for future updates released in the Technical Preview branch, those updates would have to applied by using the built-in mechanism. It’s also an active choice that I’ve made not adding support for automatically installing the latest update package, due to the fact of telemetry.
Download ConfigMgr Technical Preview Hydration Kit
You can download the hydration kit from the TechNet Gallery, on the link below:
This hydration kit has been developed to be used within any existing Active Directory environment. With other hydration kits available, usually a domain controller is built initially, however that is not the case with the ConfigMgr Technical Preview hydration kit. Before you install the hydration kit, you’ll need to prepare your environment and download the redistributable and setup files necessary for a successful hydration. Make sure that you have the following bits and pieces at hand:
- ConfigMgr Technical Preview (download)
- SQL Server 2014 SP1
- Windows Server 2012 R2 (source files from an ISO)
- Configuration Manager Cmdlet Library (download)
- WSUS hotfix for enabling Windows 10 feature updates (KB3095113)
As for your environment, the hydration kit requires the following:
- Active Directory domain
- Workstation or server with MDT 2013 Update 2 and Windows ADK 10 installed
- Hyper-V host for running a virtual machine
- Hyper-V virtual machine (created with supplied script in the kit, or manually)
- Automatic logon account (this account will automatically be added as a local administrator on the server being built by the hydration kit)
- Account for accessing the deployment share (configured in the BootStrap.ini file)
- Domain-join account
- SQL Service account
The above accounts could be all the same, but not a best practice. However, it’s convenient in a lab environment.
I highly recommend that you do not setup and use this hydration kit in your production environment, but rather in your lab. If you don’t have a lab environment, I’d recommend that you create one. Multiple ConfigMgr environments can co-exist in the same domain, however with some limitations. Therefor it’s a good practice to install ConfigMgr Technical Preview in a isolated environment (lab). Another reason for why you should use the kit in a lab environment, is the fact that you could leverage a single account for the above mentioned requirements (however, you should always follow your internal policies for admin / service accounts). Follow the instructions below very carefully, otherwise you’ll run into issues when running the hydration of your ConfigMgr Technical Preview server.
Prepare to use the Hydration Kit
Before you get started, you need to prepare your environment in order to use the hydration kit. You also need to identify which user accounts (or just a single one) that you’ll be using. In addition, follow the instructions below:
1. On a workstation or server that has Microsoft Deployment Toolkit 2013 Update 2 installed (together with Windows ADK 10), download the ConfigMgr Technical Preview hydration kit from the link above.
2. Extract the contents of the zip file to C:\Temp.
With the hydration kit prepare, continue with the installations instructions.
Configure Deployment Share in MDT
The next step is to create a new deployment share in MDT consisting the hydration kit files. In the kit, there’s a script called New-MDTDeploymentShare.ps1 that has been created to assist with this step. This script requires input in terms of a path where the deployment share should be created, e.g. C:\DeploymentShares.
1. Open an elevated PowerShell console and browse to C:\Temp.
2. Run the following command:
.\New-MDTDeploymentShare.ps1 -Path C:\DeploymentShares
3. Once the script has successfully completed, open the WorkBench console to verify that the deployment share got successfully created. You should see a deployment share called “Hydration ConfigMgr Technical Preview”, if the script was successful.
4. Share the C:\DeploymentShare\CMTPHydration folder as CMTPHydration$ (the $ sign makes it hidden) where Everyone has Full Access and add the user account identified earlier that will have access to the deployment share, with Modify NTFS permissions.
5. Open the Properties of the Hydration ConfigMgr Technical Preview deployment share in the WorkBench console and go to the Rules tab.
6. Amend the rules section marked in red to suite the necessary requirements for your environment. As for the DomainAdmin, DomainAdminDomain and DomainAdminPassword, these variables are for the user account in your domain that has permissions to perform a domain join. You also have the option to specify a static network configuration for your virtual machine. Don’t forget to set the proper distinguished name for the MachineObjectOU variable. Amend any other variables as you see fit.
7. Edit the BootStrap.ini by clicking on the button in the down right corner.
8. Replace the SERVERNAME under DeployRoot with the workstation or server name where MDT is installed. UserID, UserDomain and UserPassword should reflect the user added with proper permissions to the CMTPHydration$ share in step 4. Save the file and click OK in the Properties window.
9. Right click on the deployment share and select Update Deployment Share.
10. Select Completely regenerate boot images and complete the wizard.
Once the deployment share has been updated, make a note of the location of the boot image in C:\DeploymentShares\CMTPHydration\Boot called LiteTouchPE_x64.iso. This file will later be used to boot from on the virtual machine where ConfigMgr Technical Preview will be hydrated on.
Copy source content
If you’ve not yet acquired the necessary source files mentioned in the Requirement section of this post, do so now. Once all of the bits are downloaded, perform the following tasks on the workstations or server where MDT is installed:
- Copy source files extracted from a Windows Server 2012 R2 installation media to:
C:\DeploymentShares\CMTPHydration\Operating Systems\Windows Server 2012 R2
- Copy source files extracted from a SQL Server 2014 SP1 installation media to:
C:\DeploymentShares\CMTPHydration\Applications\Configure – Stage Source Content\Sources\SQL_Server_2014_SP1_Standard
- Copy source files extracted from a ConfigMgr Technical Preview installation media to:
C:\DeploymentShares\CMTPHydration\Applications\Configure – Stage Source Content\Sources\Configuration_Manager_TP\Source
- Download the Configuration Manager Cmdlets Library and put it in:
C:\DeploymentShares\CMTPHydration\Applications\Configure – Stage Source Content\Sources\Configuration_Manager_Cmdlets_Library
Now that all the source files are in place, we just need to make a few modifications to some of the scripts in the hydration kit, to fit your environment.
Amend Hydration Kit to fit in your environment
Due to the security mechanism in the task sequence environment in MDT, we cannot read certain variables that contain a password. In order to have the installation completely unattended, we need to update some of the script in the hydration kit to work in your environment.
1. In the C:\DeploymentShares\CMTPHydration\Applications\Install – SQL Server 2014 SP1\Start-SQLInstallation.ps1 script, scroll to the bottom and locate the section shown in the picture below. Amend the username and password lines to reflect the SQL service account in your environment. This could be a regular user account. Save the script and continue.
2. Edit the C:\DeploymentShares\CMTPHydration\Applications\Configure – Set Admin Auto Logon\Set-AdminAutoLogon.ps1 script and add the user name and password for the user automatic logon user account. This could be a regular user account. Make sure that you save your changes to the script.
With all of this configured, you’ve successfully prepared and configured the ConfigMgr Technical Preview hydration kit. Make sure that you save a copy of the deployment share (C:\DeploymentShares\CMTPHydration) to serve as a backup.
Create virtual machine
Included in the hydration kit, there’s a script called New-CMVirtualMachine.ps1. With this script, you can in an automated fashion prepare a virtual machine on your Hyper-V host within the matter of seconds. If you rather would like to manually set it up, be sure to that it follows these requirements:
- 6 virtual disks
- Minimum 6GB of memory
Below is an example of how to run the included script to automate the creation of the virtual machine for ConfigMgr Technical Preview:
.\New-CMVirtualMachine.ps1 -VMName CM01TP -Path D:\ -SwitchName "Virtual Switch (External)" -IsoImagePath F:\ISO\LiteTouchPE_x64.iso -vCPU 2 -Memory 8196MB -Verbose
Using the Hydration Kit
With the hydration kit installed and configured for your lab environment and the virtual machine in place, it’s time to start the hydration process. For those of you that do not want the hydration to stop at the screen where you have to enter the product key for Windows Server 2012 R2, you can add a rule to the CustomSettings.ini file (or under the Rules tab in the Properties of the Deployment Share) called ProductKey=<your_key>. Below is a screenshot of the screen in mention:
Using the hydration kit once it has been implemented is pretty straight forward. Follow the instructions below to start the hydration process:
1. Start the virtual machine that was created either manually with the included script.
2. Once the virtual machine has started up from the boot image, you’ll be presented with the screen below. Select Configuration Manager Technical Preview and click Next.
3. Next up you’d have to enter a name, click Next again and that’s about it. Your ConfigMgr Technical Preview environment will now be built completely automatically.
4. Once the hydration has completed, the screen below will be shown. Click on the green button to finish the hydration process. Due to the fact that during the hydration process UAC has been disabled (and at the last step enabled again), it’s a good practice to restart the virtual machine.
That’s it, you now have a fully functional ConfigMgr Technical Preview 1610 environment ready for use!