Hydration Kit 2019 Join An Existing Domain

The team over at https://deploymentresearch.com are some of the brightest minds in the business when it comes to installing and managing Windows using Microsoft Configuration Manager. I recently had a need to build out an SCCM lab and for years have found the Hydration Kits to be a quick and easy way to get this accomplished. The reason I’m writing this is because the current Hydration kit expects you to build a new Domain Controller in a new Forest but what I wanted was for the lab to join my existing Active Directory. It turned out to be much harder than I anticipated so consider this the shortcut if you’d like to do this yourself.

The fundamental problem is this: the values you need to change in the CustomSettings_DC01.ini don’t match the output that ZTIConfigureADDS.wsf uses to create the CustomSettings.ini that is actually used to join the domain. And Google Search results like to give you the actual values you need if you were building a CustomSettings.ini directly, not the values you need to use in the CustomSettings_DC01.ini to tell ZTIConfigureADDS.wsf to build a CustomSettings.ini for you. For example, to define a username that will be used to join the domain, the CustomSettings.ini is expecting “UserName=bob” but the CustomSettings_DC01.ini is expecting “ADDSUserName=bob”

So now that you know the problem, below is a copy of the CustomSettings_DC01.ini that is included in the Hydration Kit. I am using the format ;comment to explain the nuances with each entry so all you have to do is copy and paste this whole thing below and tweak it for your domain and you’re off and running.

On your Build Machine for the Hydration Kit edit
C:\HydrationCMWS2019\ISO\Content\Deploy\Control\CustomSettings_DC01.ini

with the following:

[Settings]
Priority=Default
Properties=HydrationOSDComputerName

[Default]
HydrationOSDComputerName=NetBiosofComputerNameHere
OSDAdapterCount=1
; Fix the lines below to have actual IP addresses that match your network
OSDAdapter0DNSServerList=W.X.Y.Z
OSDAdapter0Gateways=W.X.Y.Z
OSDAdapter0IPAddressList=W.X.Y.Z
OSDAdapter0SubnetMask=W.X.Y.Z
OSDAdapter0TCPIPNetBiosOptions=1

; Active Directory Configuration
DatabasePath=”C:\Windows\NTDS”
ADDSLogPath=”C:\Windows\NTDS”
SysVolPath=”C:\Windows\SYSVOL”
‘The next line needs the double-quotes and it needs to be a strong passcode.
SafeModeAdminPassword=”UseStrongPasscode”
‘The next line needs the name of your existing AD Sites and Services Site Name
SiteName=YourExistingADSiteName
;The next line is case sensitive on both sides of the =
ReplicaOrNewDomain=Replica
;The next line is going to be an existing AD account that has enough rights to join the domain. The “ADDS” part will be stripped by ZTIConfigure in the final file
ADDSUserName=administrator
ADDSPassword=”PasswordForAccountInPreviousLinewithDoubleQuotes”
;The next line must be the FQDN of the domain you wish to join
ADDSUserDomain=lab.mydomain.com
;The next line must be the FQDN of the domain you wish to join
ReplicaDomainDNSName=lab.mydomain.com
;The next line must be an existing DC using the FQDN
ReplicationSourceDC=dc.lab.mydomain.com
ConfirmGC=yes
;This next line is required due to what I will call a bug with MDT. MDT includes a task sequence step named “Configure ADDS” with an Advanced section that includes a check box for “Install DNS if not already present.” You need this box checked otherwise you will run into some cryptic errors. The problem is that the Hydration Kit doesn’t use this task sequence, the Hydration Kit uses a Run Script task sequence with the same name. The next line is the equivalent of checking the box “Install DNS if not already present.”
AutoConfigDNS=Yes

; In the original file, DHCP is added to the server. I didn’t want that so I commented all the lines out below.
; DHCP Configuration
;DHCPServerOptionRouter=W.X.Y.Z
;DHCPServerOptionDNSServer=W.X.Y.Z
;DHCPServerOptionDNSDomainName=lab.mydomain.com
;DHCPScopes0SubnetMask=W.X.Y.Z
;DHCPScopes0IP=W.X.Y.Z
;DHCPScopes0Name=W.X.Y.Z/24
;DHCPScopes0StartIP=W.X.Y.Z
;DHCPScopes0EndIP=W.X.Y.Z
;DHCPScopes0OptionLease=691200
;DHCPScopes=1

; STOP COPYING!
; The rest of the text below explains your next steps and should NOT be included in the CustomSettings_DC01.ini

The next step is to make a small edit to the Task Sequence.

Open DeploymentWorkbench

Edit the DC01 – Full Installation Task Sequence

Scroll down until you get to the “Install Active Directory” folder

Select the “Install Active Directory” folder, click on the Options tab and UNCHECK the “Continue on Error.” Repeat this for each of the steps in the Install Active Directory Folder.

Next, click on the folder “Install DHCP” that is just below the folder “Install Active Directory”

Click on the Options tab and choose “Disable this step”

Click Apply then OK to save the changes

If you’re already completed all of your other customizations as defined here, then you are now ready to generate the ISO from the Advanced Configuration > Media folder.

As of March 6 2020 I’m still having a few problems with the next step in the task sequence: Create Active Directory Structure. I’m finding that the Sites and Services gets populated, but none of the user accounts are generated. I’ll come back to this article and update it once I get a resolution.