Script to Make ServiceUI.exe Easier to Use for OSD Custom User Interfaces

Since Configuration Manager task sequences usually run as the System account, the task sequence cannot natively launch and display a user interface that will be visible on the screen.  So MDT ships with an utility called ServiceUI.exe that allows executable to display on a different desktop than the System desktop (which is not visible).  This…


Dynamically Setting Variables as Over-writable during Gather

During the MDT Gather process, almost all properties (variables) are treated as “first writer wins” (i.e. the value cannot be changed during Gather once it is set for the first time).  ZTIGather.xml defines the “known” MDT variables for Gather.  The ones that are able to be changed (overwritten) during Gather have the property overwrite="true".  Any…


Writing Data to the MDT Database During Gather

MDT allow you to query the MDT Database during a Gather step using database sections in CustomSetting.ini.  This is great for retrieving settings to drive the deployment.  However, there are occasions where you may want to write information back to the database.  MDT provides no built-in way to do this.  Michael Niehaus provided a PowerShell…


Loading Scripts that Have VBScript Classes or that Don’t Have a UserExit Function as User Exit Scripts – Script Update

In a previous post I provided a script that allows loading scripts that have VBScript Classes or that don’t have a UserExit function in them as User Exit scripts in CustomSetting.ini.  This script also allows you to load multiple User Exit scripts in a single CustomSetting.ini section as in this example: [Settings]Priority=IncludeExitScripts, DefaultProperties=ExitScripts(*) [IncludeExitScripts]UserExit=MDTExitInclude.vbsExitScripts001=#Include("MDTLibHelperClasses.vbs")#ExitScripts002=#Include("ModelAliasExit.vbs")#ExitScripts003=#Include("MDTConfigMgrFunctions.vbs")# I…

1

Reducing Windows Deployment time using Power Management

The following post was contributed by Benjamin Rampe a Senior PFE working for Microsoft. While studying up on Windows 10, I came across a technique that has been shown to reduce the time it takes to apply an OS WIM to disk by 20 – 50%*.  That’s a fairly significant savings in time and the…

47

Deprecation of the OSVersion Property and What to Do About It

The OSVersion variable is populated with a short string representing the version of the operating system (e.g. XP, Vista, Win7Client, 2008, etc.).  With MDT 2012, you may have noticed that when you deploy Window 8 that the value of the OSVersion variable gets set to “Other” instead of something like “Win8”.  This is because the…

3

Loading Scripts that Have VBScript Classes or that Don’t Have a UserExit Function as User Exit Scripts

Most readers of this blog should be familiar with MDT User Exit scripts, as many of the posts provided them for many scenarios.  In case you are not, the MDT help file defines them this way: “A user exit script is effectively a function library that can be called during the processing of the CustomSettings.ini…

3

Printer Remapping in Windows 7 Deployments

One of the challenges that I frequently come across is the shift from 32-bit operating system environments to 64-bit operating system environment during deployment projects. Windows 7  ships as both 32-bit as well as 64-Bit, with the 64-bit version becoming more popular due to its ability to handle large amounts of RAM and the wider…

12

Windows 8 Start Screen Customization with MDT

If you are creating a Windows 8 image then you most likely want to customize the Start Screen layout that users see when they logon for the first time. However the question is “how should I customize the Start Screen?” There are three approaches that you can use: Use the Unattend.xml file to define which…

34

Automatically Populate the PATCH Property for the ConfigMgr Client Installation - Updated for ConfigMgr 2012

Update 2013-06-12: The newest version of this script can be found here.   Two years ago I posted a script to automatically set the PATCH property used by ccmsetup.exe to install client updates during the Configuration Manager client installation in a task sequence.  That post is found here.  Since Cumulative Update 1 for ConfigMgr 2012…

6