You are here:   Research
  |  Login

Welcome to my blog, quickest way to find articles is usually to search for them.

Minimize
Search in All Title Contents
 
     

Save time (and avoid pain) - Create a MDT simulation environment

Feb 27 2014

This is an update to an old post, this time using PowerShell. Anyway, by adding a few files to a folder you can simulate the gather process of MDT, and figure out why settings fails in seconds rather than hours... Create a MDT simulation environment - here is how:


Update July 30, 2014:
You also might want to look into this post about creating a MDT simulation environment for your PowerShell scripts: http://www.osd-couture.com/2014/07/mdt-2013-create-simulation-environment.html

Prerequisites

This guide assumes you have an existing MDT Lite Touch Deployment Share (meaning MDT and ADK installed)

 

Step-by-step instructions

  1. On a machine in the domain, install the ConfigMgr 2012 R2+ Toolkit to the default location, navigate to C:\Program Files (x86)\ConfigMgr 2012 Toolkit R2\ClientTools, then start CMTrace and click Yes to associate .log files with it.
     

    image 
    The CMTrace dialog box when started the first time.
     
      
  2. Create a folder named C:\MDT and copy the following files from your deployment share, Scripts folder to C:\MDT.

    ZTIDataAccess.vbs
    ZTIGather.wsf
    ZTIGather.xml
    ZTIUtility.vbs

    Note:
    If you are using any userexit scripts, like the modelaliasexit.vbs script, copy that script to the C:\MDT folder as well (Thanks Gebray1s for pointing that out).
     
  3. Copy/Create the CustomSettings.ini file you want to test to C:\MDT.

  4. In the C:\MDT folder, create a subfolder named x64.

  5. From your deployment share, Tools\x64 folder, Copy Microsoft.BDD.Utility.dll to C:\MDT\x64.

  6. Create a PowerShell script named Gather.ps1 with the following information:
      

# Check for elevation
If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(`
    [Security.Principal.WindowsBuiltInRole] "Administrator"))
{
    Write-Warning "Oupps, you need to run this script from an elevated PowerShell prompt!`nPlease start the PowerShell prompt as an Administrator and re-run the script."
    Write-Warning "Aborting script..."
    Break
}

cls
if (Test-Path -Path "C:\MININT") {Write-Host "C:\MININT exists, deleting...";Remove-Item C:\MININT -Recurse}
cscript.exe ZTIGather.wsf /debug:true

# Optional, remove the comment if you want the script to open the log in CMTrace
# & "C:\Program Files (x86)\ConfigMgr 2012 Toolkit R2\ClientTools\CMTrace" C:\MININT\SMSOSD\OSDLOGS\ZTIGather.log

 

The C:\MDT Folder

By now your C:\MDT folder should look like this:

 
 

MDT
The C:\MDT folder after adding all needed files (again, if using any userexit scripts, add them as well)

 

Sample CustomSettings.ini file

In the below sample I have the following customsettings.ini file

[Settings]
Priority=Model, Default

[Default]
OSInstall=YES

[HP EliteBook 8570w]
MandatoryApplications001={980fc0ac-68eb-4227-bc57-49ac352e18d5}

 

Running the simulation

1. Open an elevated PowerShell prompt, and navigate to C:\MDT,

2 Run the Gather.ps1 script (the console will look like this):

 

image

 

The ZTIGather.log will look like this:

 

image

 

From the above log file we can see that if I would have deployed a HP Elitebook 8570w, it would actually install an application with the guid of {980fc0ac-68eb-4227-bc57-49ac352e18d5}. If I check the Deployment Workbench, I can see which application that has that guid.

/ Johan








Happy deployment, and thanks for reading!


What our lawyers makes us say:

This information is provided "AS IS" with no warranties, confers no rights and is not supported by the authors or Deployment Artist.

Copyright © 2017 by Deployment Artist (the company behind deployment research). All rights reserved. No part of the information on this web site may be reproduced or posted in any form or by any means without the prior written permission of the publisher.

Shorthand: Don't pass off our work as yours, it's not nice.

Blog Archive

Minimize