You are here:   Research
Register   |  Login
The quickest way to find articles is to use the below search option.

However, if you go to the end of this page, you also find the Blog archive (calendar format) that allows for browsing of older articles.


Author: Created: 3/20/2011 7:31 PM RssIcon
Tips and Tricks, guidance and real world deployment configurations
By Arwidmark on 7/24/2014 1:47 AM
Of course you should not be deploying applications, but rather packages in your ConfigMgr 2012 (SCCM) task sequences. But if you do, you can use this little PowerShell script to list applications that have the AutoInstall property set to True, meaning being configured for task sequence deployment.

The Script $AppList = Get-CMApplication foreach ($App in $AppList) { if ($App.SDMPackageXML -like '*true*') { Write-Output $App.LocalizedDisplayName } } Note #1: If you want to list applications not configured for AutoInstall, just change the operator to –notlike.

Note #2: If you have many applications (like hundreds), the Get-CMApplication cmdlet is quite slow. To get some speedy result, you can also query the fn_ListLatestApplicationCIs(1033) SQL function directly in the ConfigMgr database. Fellow MVP Torsten Meringer have a nice post (in German) here:

By Arwidmark on 7/21/2014 1:06 AM
Last week I got an email from a fellow deployment geek wanting to generate computer names based on what files that were in a folder… Every time they deployed a machined they had a script that saved the machine name to a folder, and he wanted a routine that figured out the next available name. Well, here it is…

Preparing For this to work you need to have a folder in your deployment share, named computers, with a similar content. As you can can see the folder holds names from computers already deployed, and the next available computer name should be MYPC0006, right?

By Arwidmark on 7/11/2014 7:52 PM
If you are using ConfigMgr 2012 R2 for OS deployment and have not completed this TechNet Virtual Lab you might be doing it wrong…

This lab will take you through all needed steps to get a rock solid OSD configuration, including all needed tweaks to the default task sequence templates.

Deploying Windows 8.1 with Configuration Manager 2012 R2 and MDT 2013 (Zero Touch)

  The Hands-on-Lab consists of the following modules Exercise 1: Prepare for OS Deployment in ConfigMgr 2012 R2 Exercise 2: Create a WinPE 5.0 boot image Exercise 3: Add operating system images Exercise 4: Create an Application in ConfigMgr 2012 R2 Exercise 5: Add Drivers Exercise 6: Create Task Sequences Exercise 7: Finalizing the OSD configuration Exercise 8: Deploy Windows 8.1 using PXE In addition to the above section you also learn about new tips and tricks for adding hotfixes, branding,...
By Arwidmark on 7/4/2014 8:48 PM
The last two weeks I’ve been working on a ConfigMgr 2012 R2 project in the US, that also involved OS Deployment. During the project all but one computer model deployed nicely, and the failing machine was the HP ProBook 640 G1 laptop. Even though all drivers installed fine, once the machine was put to standby/hibernate, it never woke up again.

After some troubleshooting (which included testing various BIOS versions) we realized it was the graphics driver causing the resume issue. Once we added the latest driver from AMD (and not the driver from HP), resume started to work again.

Now came the second problem: When deploying the new catalyst driver with ConfigMgr 2012, even though adding it as a driver package, it never completed the driver setup during the task sequence, but first after a login, and a final reboot.

The solution: First, credits goes to Henrik Ericsson, a fellow ConfigMgr guru working on this project with me.

Step 1 – Create a driver package

Download the all the...
By Arwidmark on 5/26/2014 4:32 AM
During TechEd I was discussing a ConfigMgr issue with Eric Leonard, a fellow ConfigMgr admin in Canada. The issue we were discussing were the following: When having multiple network access accounts configured in ConfigMgr, Orchestrator runbooks could not be started. It turned out there was a bug in ZTIExecuteRunbook.wsf script, a missing single quite. Big thanks to Eric for providing the solution.

Update 2014-05-27: Turned out to be a bug filed (Dec. 2013), please vote it up! Thanks Gaëtan Hermann for letting me know.

The Fix There bug in the ZTIExecuteRunbook.wsf script is on line 309, highlighted here:

If bNAACred Then ' We will try another account Continue Else Obviously, “Continue”...
By Arwidmark on 5/14/2014 9:28 AM
It’s a great week here at TechEd 2014 in Houston, later this afternoon I will present the never-dying “Creating the perfect reference image” with my partner in crime (and good friend), Mikael Nystrom. If you ever attended one of my deployment sessions before, you know I recommend using MDT Lite Touch for most scenarios, but what if you want to speed up the process?

All in all, by following these tips you can speed up the image capturing process by about 400 percent :)

  Free Resources If you haven’t created reference images with MDT before, check this lab on TechNet Virtual Labs:

Creating a Windows 8.1 reference image

Also check the recording from TechEd:

Building the Perfect Windows 8.1 Image

  Make the image smaller by deleting setup files for already installed updates Mikael Nystrom (
By Arwidmark on 5/11/2014 8:07 PM
During the ConfigMgr 2012 R2 preconference at TechEd I showed a few links in the demos, here is a collection.

The links are also posted to the #teprc10 hash tag on Twitter, and if you don’t use Twitter, you better start, now! I’m @jarwidmark on twitter and the elder geek (Kent Agerlund) is @agerlund  :)

PowerShell Script to set permissions in Active Directory for OSD

Hydration for System Center 2012 R2

Script for Deploying a reference image (VM) fully unattended ...
By Arwidmark on 5/11/2014 7:36 PM
During the TechEd 2014 NA preconference earlier today, I demonstrated how to deploy a VM fully unattended using a PowerShell script. A few people asked for the script being used so here it is.

Requirements, for this script to work, you need to have a MDT 2013 Lite Touch deployment share, configured for full automation.

In my environment the Bootstrap.ini looks like this:

[Settings] Priority=Default [Default] DeployRoot=\\MDT01\MDTBuildLab$ UserDomain=VIAMONSTRA UserID=MDT_BA UserPassword=P@ssw0rd SkipBDDWelcome=YES The CustomSettings.ini looks like this:

[Settings] Priority=Default [Default] _SMSTSORGNAME=ViaMonstra UserDataLocation=NONE DoCapture=YES ComputerBackupLocation=\\MDT01\MDTBuildLab$\Captures BackupFile=%TaskSequenceID%#"(" & day(date) & "-" & month(date) & "-" & year(date) & ")"#.wim TaskSequenceID=REFW81X64-001 OSInstall=Y AdminPassword=P@ssw0rd TimeZoneName=Pacific Standard Time JoinWorkgroup=WORKGROUP HideShell=YES FinishAction=SHUTDOWN...
By Arwidmark on 4/21/2014 11:22 AM
Wohoo, three brand new deployment labs are available on the TechNet Virtual Labs platform.

train Yep, if you have internet access, they can be run from anywhere, even a train :)

Creating a Windows 8.1 reference image

Deploying Windows 8.1 with MDT 2013 (Lite Touch)

Deploying Windows...