Mikael Nystrom has another good post on "back to basics". This time on CustomSettings.ini which is a file that commonly gets people confused because of it’s many uses and ways to do things.
One of the most important files in MDT (and in SCCM with MDT) is customsettings.ini, it is the rule file to rule your deployment. Yesterday Johan and I did a session at MMS and besides getting great scores and that is always fun. During that session I did a couple of demos around customsettings.ini and I would like to explain this a bit more. Because if you do understand the rules you can become much more dynamic and that will hopefully lead to less hassle and more work done in less time.
Deployment Fundamentals – Volume 3 is crammed with a lot of useful information on how to deploy Windows 7 with System Center Configuration Manager 2007 R3. We (the authors) have all been fighting with OS deployment for many years, and we simply decided to fill the book with everything we know on how to make it effective and easy to manage OS deployment in ConfigMgr. You also will find many real-world examples, including ready-made scripts and solutions you can use directly in your environment. Although this is a ConfigMgr 2007 book, there are few changes in the way OS deployment works in ConfigMgr 2012. Therefore, all of the useful insights and practical knowledge shared in this book translate easily to ConfigMgr 2012.
Discover how to – Install ConfigMgr 2007 R3 for OS deployment in multiple sites – Migrate from Windows XP to Windows 7 – Create the perfect reference image – Integrate with MDT 2010 and why – Manage device drivers – Install applications and software updates – Configure your OS deployment with BitLocker and automate BIOS configuration – Extend and customize ConfigMgr 2007 OS deployment – Create custom scripts and frontends and extend the database – Install and configure User-Driven Installation (UDI) – Perform advanced troubleshooting
The following solution(s) are provided as-is without any warranty, confers no rights and is not supported by the Author(s). Use at your own risk.
Installing and configuring Configuration Manager Secondary Sites is often a manual and time consuming task. If you have 50 or more sites that can be a significant amount of time spent installing and configuring Secondary Sites. The Hydration approach attempts to resolve that issue by providing an automated way to setup and configure Secondary Sites.
The following Hydration solution can be run on an existing Server 2003 or Server 2008 R2 Operating System and will configure the necessary pre-requisites and install the Configuration Manager Secondary Site.
This document assumes the following:
· You have Microsoft Deployment Toolkit 2010 Update 1 installed
· SQL is configured to allow Named Pipes
· You have already created a SQL$ share
· You have the knowledge required to work within the MDT Deployment Workbench
The Hydration process has been tested on Server 2003 R2 SP1/SP2 and Server 2008 R2 SP1.
The files are contained in a “HydrationShare.zip” archive. Once these files are extracted, you will need to modify a few of the script files and add the required source files. This section details those required changes.
The files are provided as a self-contained DeploymentShare. You can simply extract this archive out and open the folder with the Deployment Workbench.
Sources files are required for the following items under the Applications directory in the HydrationShare.
Table 1: Required Source Files
\ConfigMgr 2007 R3\Source
R3 installation files
\ConfigMgr 2007 R3\Hotfix
R3 Pre-req hotfix 977384
\ConfigMgr 2007 SP2 Secondary\PreReqs
ConfigMgr downloaded preq-reqs’s
\ConfigMgr 2007 SP2 Secondary\Source
ConfigMgr installation files
\ConfigMgr 2007 Toolkit V2\Source
ConfigMgr Toolkit MSI
\ConfigMgr Server 2003 IIS\i386
I386 directory from Server 2003 media
Extract the HydrationShare.zip archive to the location you want the HydrationShare to reside.
Once the files are extracted out, you need to share out the HydrationShare. A Hidden share is recommended.
1) Open the Deployment Workbench
4) Select Next
5) Select Next
6) Select Finish
This Hydration solution relies on a “SCRIPTSITECODE” variable. This solution was developed around this information being populated in the MDT database. It is possible to configure and set this variable through other methods, but this guide will not address those.
1) Open the MDT workbench and expand the HydrationShare.
2) Select Advanced Configuration-Database
3) Right-Click on Database and select New Database
4) Input the name of the SQL server and make sure the Network Library is selected to Named Pipes, then select Next
5) Input MDT2010 for the Database Name and select Next
7) Select Next
8) Select Finish
Provided with the Hydration files are 2 SQL files for extending the MDT database with the SCRIPTSITECODE value and refreshing the views.
Open the “create scriptsitecode.sql” in SQL Management Studio.
Ensure that you are pointing to the MDT database.
Once you are pointed to MDT Database. You can Execute the query.
You should see “Command(s) completed successfully”
Next open the “refresh MDT views.sql” and make sure you are again pointed to correct database.
You should see “Command(s) completed successfully”
If you open up the MDT workbench, go into Advance Configuration – Database- Computers, you will now see a new property called ScriptSiteCode listed on the Settings tab.
A PowerShell script and CSV file are provided for the bulk import of computers into the MDT database. These computers are the servers we want to configure as Secondary Sites.
The CSV file contains the Description, MacAddress, and ScriptSiteCode values we want to import into the Database.
We use the MacAddress to identify the server and configure the appropriate SiteCode for the ConfigMgr installation. The SiteCode is stored in the ScriptSiteCode variable. The description is just a friendly name so we can identify the server in the database.
The provided PowerShell script will do a bulk import of the CSV file into the MDT database. The PowerShell script imports a MDT Module, connects to the MDT database and imports the information from the CSV file.
Edit the PowerShell script to make sure the paths are correct to the source files.
Edit the PowerShell script to make sure the correct SQLServer and Database are specified.
After running the import, you will see the records in the Database based on the information in the CSV.
Once you have opened the HydrationShare with the Deployment Workbench and created the MDT database, there are a few changes that need to be made for the HydrationShare to successfully work.
Under the main HydrationShare properties, make sure the share name is correct and the local path is correct for the location you have put the HydrationShare.
Under the Rules tab, make sure your [CSettings] section has the correct SQLServer and Database name.
Ensure your bootstrap.ini has the correct DeployRoot value.
Under the Rules tab, configure the AdminPassword value to match the local administrator password of the servers you will run the Task Sequence on. This allows the Task Sequence to automatically log in and continue after the required reboots. This is required for the auto-logon to work correctly.
After making the required changes, right click on the HydrationShare and select Update Deployment Share.
There is a section of code in this script that allows you to specify existing source files to use, if we can find those, we will use those to install ConfigMgr, otherwise we’ll use the files from the script source files directory.
The following code would need to be changed in the script to match the location you might have local source files. It is located at line 93 in the script.
sFile = "F:\folderpath\smssetup\bin\i386\setup.exe"
There is also logic in the 2003 IIS script that checks for a local copy of the i386 directory. We look for the i386 directory at the root of the C: drive. If we don’t find it then we copy it down from the source files. In addition we set a few registry keys to let Windows know where the source files are located. If you wanted to change this location, you would need to modify the following lines of code.
Line 57 – Check for local i386
sFile = "C:\i386\setup.ex_"
Lines 70-72 – Update registry to point to C:\i386
oShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath", "C:\", "REG_SZ"
oShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\ServicePackSourcePath", "C:\", "REG_SZ"
oShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SourcePath", "C:\", "REG_SZ"
The sender creation script is coded to the primary site. This will need to be modified to point to your primary site.
primSiteCode = "001"
primSite = "2008-configmgr"
Server 2008 R2:
· UAC is disabled
· Server Manager is not configured to start (R3 will fail if it detects any open MMC)
· Script is launched with administrative rights (careful of “Run” credentials)
The Task Sequence can be started by launching the Lite-Touch process from the Run box.
Use the following command:
Once started, you will see the Task Sequence selection screen, select Next to continue.
On the credentials screen, provided an account that has appropriate credentials to connect to the HydrationShare. (Read Acces)
After clicking Next, the process will start. (Example screen from 2008 R2)
Great post over on The Deployment Guys.
One of the great features of MDT 2010/2012 is the ability to create a media based deployment – this media based deployment can be placed on a USB based memory device (HDD or Fob) or onto a DVD. This allows the MDT based deployment to run from this removable media which is great for badly connected environments or portable build requirements.
Many customers I work with like to use DVD media based deployment as MDT 2012/2012 automatically creates a .ISO file that can be burnt to DVD and in most cases this gives them up to 8.5 GB on a dual layer DVD – it’s also a cheap deployment mechanism. However there are some occasions where this amount of DVD space just isn’t enough and a combination of image size and MDT distribution share content pushes the requirement for storage over the limit of the DVD. You could at this point switch to using USB based devices or you can read on and use the solution discussed in this post.
Johan Arwidmark has a new post up talking about integrating Dart 7 (beta) into your WinPE images to allow remote connectivity.
In the new Dart 7 (Beta) release, Microsoft added a remote connection application to WinPE, it allows you to connect to a WinPE system using the new Dart Remote Connection Viewer. This article explains how to add it to either MDT 2010 Lite Touch or ConfigMgr (SCCM) 2007 to monitor your deployments.
Credit goes to Michael Niehaus for letting me know it existed and explaining the inner works, and thank you Process Monitor and Process Explorer for helping me figure out what files where actually needed 🙂
Adding Remote Monitoring to MDT 2010 orConfigMgr 2007 OS Deployments
Step 1 – Download Dart 7 (Beta) and create the Dart ISO
Step 2- Extract the files needed for Remote Connection
Configure MDT 2010 Lite Touch to add the files to its boot image (SCCM instructions further down)
Configure ConfigMgr 2007 (MDT 2010 Zero Touch) to add the files to its boot image
Ben Hunter has a new post over on The Deployment Guys Blog.
If you are using MDT Update 1 to deploy Windows 7 SP1 language packs then please pay attention, this post will save you time.
MDT 2010 Update 1 does not address the Enhanced Language Pack handling in Windows 7 SP1. This means that if you add a Windows 7 SP1 language pack to the workbench it will not appear in the task sequence wizard.
Thankfully the solution is fairly simple. You simply update the language handling function in the DeployWiz_Initialization.vbs script.
For details of the updates on how to make this update please see – http://support.microsoft.com/kb/2547191
This post was contributed by Ben Hunter, an Architect with Microsoft Services
Johan Arwidmark has a new post discussing the Role and Features action inside MDT.
One of the most powerful features in MDT is the option of having the Task Sequence install all the Roles and Features needed, most often on servers, but also for clients. I use this feature heavily in different kinds of automated datacenter builds and when preparing Proof-Of-Concept or other demo/lab type environments.
How does Install Roles and Feature action work?
Explanation of the (Win7), (2008R2) and (Win7,Core) entries
Windows Server 2008 considerations
Advanced Format Hard Drives–Automatically Patching WinPE 3.0 With The Microsoft Deployment Toolkit 2010 (MDT)
In order to support the new 4k advanced format drives, we need to apply a hotfix to WinPE 3.0.
Once you have downloaded the hotfix and extracted the files, you should have 2 files. (One for each platform)
In your Deployment Workbench, create a new folder under the “Packages” node called “Windows 7”.
Import the hotfixes into this folder.
Add this folder to your Selection Profiles for WinPE. (It is highly recommend that you use a Selection Profile for driver injection for WinPE). Modify both your x86 and x64 Selection Profiles.
Ensure your boot images are configured to use the appropriate Selection Profile.
Update your Deployment Share to incorporate the hotfix into your boot images.
Enjoy your WinPE 3.0 Advanced Format ready boot images!