The Deployment Bunny

Subscribe to The Deployment Bunny feed The Deployment Bunny
OS Deployment, Virtualization, Microsoft based Infrastructure...
Updated: 18 min 2 sec ago

TechEd NA 2014 – Here is my sessions on Channel 9

Sun, 05/25/2014 - 07:36
Top OS Deployment Issues with Answers from Experts

Bare Metal OS Deployment in Microsoft System Center 2012 R2 Virtual Machine Manager: This Is How It Is Done!

Building the Perfect Windows 8.1 Image

Categories: MDT

Back to Basic – CustomSettings.ini – Sample 3 and a bunch more

Mon, 05/19/2014 - 10:59

Customsettings.ini is one of those text files in MDT/ConfigMgr that has a major impact on the solution, badly written the solution is a pain in the… correctly written and it works like magic…

A while back I created sample package, but I only published 2 of the samples in the package and now it is time for the rest of them:

  • Disable OSInstall.ini
  • Setting based on Computer type and location.ini
  • Settings based on Computer type.ini
  • Settings based on Default Gateway.ini
  • Settings based on MAC for servers.ini
  • Settings based on MAC.ini
  • Settings based on Model.ini
  • Settings based on TaskSequenceID.ini
  • Settings based on UserExit-Alias.ini
  • Settings based on VB Calculation.ini
  • Settings based on Virtual Machines.ini
  • Settings for UDI.ini
  • Using the SMSTSOrg.ini

To try them out in your environment you can just run:

cscript.exe “Path to your MDT folder”:\Scripts\ZTIGather.wsf /Inifile:”The Path to the .ini file you would like to test”

You can download the samples here:

(Note all these files has been made upon request from customers, so if you need one that I down have, ask me…)


Categories: MDT

Nice to Know – Switch from ImageX to DISM in MDT

Mon, 05/19/2014 - 09:09

Be default the capture process in MDT 2013 uses ImageX to capture the image, there is nothing wrong with that, well, it takes time since Imagex takes about 15 minutes or more just to scan the file system before it starts to capture the image and maybe you would like to get rid of that time. That is possible by doing some modification to one of the scripts in MDT so that it starts to use DISM.exe instead

The script that needs to be modified is ZTIBackup.wsf and you can download the updated version here. (Please make sure you have a copy of the previous version so that you can go back for any reason.)

As a bonus this also fixes the problem to append the wim file to an existing wim file.

  1. Download the file from here:
  2. Rename the Scripts\ZTIBackup.wsf to ZTIBackup.old
  3. Clear the Internet download flag from the new ZTIBackup.wsf.
  4. Copy the new ZTIBackup.wsf to the Scripts folder.



Categories: MDT

Nice to Know – MPIO “may” need to be configured correctly to increase performance when using Storage Spaces in Windows Server 2012 R2

Mon, 05/19/2014 - 08:15

This happens currently once a week, someone calls me and say “I’m using Storage Spaces with or without Scale Out file server and the performance is #”"!&%%&##”

There is many reasons but a very common is that MPIO be default is set to Round Robin and that is worse then bad.

Change the setting for all disks and for new disks as well by running the following command from en elevated PowerShell prompt:

Set-MSDSMGlobalDefaultLoadBalancePolicy LB

Read more here:

Also read the blog from Jose:

Categories: MDT

TechEd NA 2014 – The Scripts from my session – DCIM-B309 – Bare Metal OS Deployment in Microsoft System Center 2012 R2 Virtual Machine Manager

Thu, 05/15/2014 - 08:30

Here is the sample scripts from my session at TechEd NA 2014 (DCIM-B309 – Bare Metal OS Deployment in Microsoft System Center 2012 R2 Virtual Machine Manager: This Is How It Is Done!)


Channel 9:


Categories: MDT

Nice to Know – OS Deployment on TechNet – Check This out!!!

Mon, 05/12/2014 - 10:34

For many years TechNet has been the source of information for IT Pro’s, but in many cases it has been “This is what you could do”, leaving a lot of IT profs in a guessing game. For OS Deployment that has now changed, it is changing into “This is how you should do!” and that is VERY nice!

Go to

And check this out ASAP

(And yes, they hired external resources the help them get the best content ever…)


Categories: MDT

TechEd NA 2014 – PRC06 Deploying and Managing Windows in the Real World – Slides

Mon, 05/12/2014 - 09:15

You asked for the slides after our session, here they are


If you are looking for all the deployment links we talked about, you will find the here



Categories: MDT

Nice to Know–Bare metal deployment in SCVMM using Custom script and Custom resources could fail

Sun, 05/04/2014 - 10:05

The bare metal OS deployment function in SCVMM has the ability to be customized by adding custom scripts (also know as GCE). Basically there is two ways to do this, you either make sure the  script is in the WinPE image or you add it using recourses in the SCVMM Library. There are two locations for those scripts, Pre and Post and the problem seems to be true when we are doing Pre OSD GCE’s. So how do I know it fails then?, well that is not that hard. It will give you a very informative message in the job log like this:

Error (2941)
VMM is unable to complete the request. The connection to the agent on machine has been lost.
Unknown error (0x80072efe)

Recommended Action
Ensure that the WS-Management service and the agent are installed and running and that a firewall is not blocking HTTPS traffic.

And if you open the vmmAgentPE.exe.log file on the host you are deploying you will se this:

058C.05C4::05/04-12:23:13.425#00:OSDDownloadFileFromUrl.cpp(88)[000000000306EB: ThrowOnWin32Failure : 80072efe. Operation attempted WinHttpReceiveResponse(m_hRequest, NULL)
058C.05C4::05/04-12:23:13.425#00:exceptions.cpp(97)[000000000306EB: CarmineException::CarmineException: CarmineError: 1051488,  hr: 0x80072efe

If you look at the last file it tries to download you will see that it is trying to download the file and if you check the size of the file you will se that the size is 0 bytes and “carmine” does not like to transfer 0 size files in WinPE.


Modify the in notepad.exe and type whatever you like, close it, done. If you try once more it should work.


Categories: MDT

Hands-On LAB at LabCenter–Mastering Hyper-V 5-7 May 2014

Mon, 04/21/2014 - 10:58

Friend, I have an upcoming lab on Hyper-V 2012 R2, so if you would like to know what you really need to know about Hyper-V including management by PowerShell, VMQ, RSS, Architecture, Installation, Configuration, Migration and much, much more you should sign up for the class.


Categories: MDT

PowerShell is King – HP Scripting Tools for Windows PowerShell v1.1 is released

Mon, 04/21/2014 - 08:02

The 1.1 version supports PowerShell v3 and v4 and that means you can install it on Windows 8.1 and Windows Server 2012 R2. There is also some added CMDlets plus some minor changes.

Download it from!tab=features

Release notes is here (read them)


Categories: MDT

PowerShell is King–Use PowerShell to find out the file information in a file repository

Wed, 04/16/2014 - 06:45

This morning I was scheduled to install some software, one part of HP Service Pack was not installed, so I made the decision to just install that component, rather then re-running that Service Pack Setup (HPSUM). The quarion is, what file contains what I need? All files has just the CPXXXXXXX.exe? If I select properties from a file in explorer, I can see that it contains this:

Hmm, how could  I get that using PowerShell? Could it be “"Get-ChildItem”?

Running Get-ChildItem -Path \\cloud\dfs\Software\Applications\HP\swpackages -Filter *.exe gives me this:

and that does not help, but if adding | Select * will give me this:

So, the info is there, right, now how could I get rid of the junk…

Hmm, there is something called VersionInfo, lets try that…

Get-ChildItem -Path \\cloud\dfs\Software\Applications\HP\swpackages -Filter *.exe | Select-Object Name,VersionInfo | Out-GridView

Getting closer, bet still to much junk…

Maybe, this would work?

Get-ChildItem -Path \\cloud\dfs\Software\Applications\HP\swpackages -Filter *.exe | Select-Object -ExpandProperty VersionInfo | Select-Object -Property ProductName, ProductVersion, Filename | Out-GridView

Lets try that:

Yes, that seems to give the the result I like.


Categories: MDT

Nice to Know–Management Pack for Windows Server 2012 R2 Hyper-V has an Issue

Wed, 04/16/2014 - 04:52
The Issue:

ID: 26001 – Microsoft.SystemCenter.VirtualMachineManager.2012.Report.VPortUsageCollection

Got null results from Select Connection from Msvm_SyntheticEthernetPortSettingData where InstanceId=

The “Solution”:

To be honest, there is no real solution so far, the reason is that the MP is looking for the WMI data in the “old” V1 place, and in R2 that is gone, that information is in the new namespace V2. There should be a new MP, but so far I have not seen one. So the only solution is to turn this collector of and that solves only one issue. The event log looks “nice”. In my world that’s is not a solution…

Read more:

Categories: MDT

TechEd–New Session: Bare Metal OS Deployment in Microsoft System Center 2012 R2 Virtual Machine Manager: This is How it is Done!

Tue, 04/15/2014 - 20:46

A very nice surprise.

At TechEd they have added more sessions to the DataCenter track and that means I’ve got a new session!

Bare Metal OS Deployment in Microsoft System Center 2012 R2 Virtual Machine Manager: This is How it is Done!

System Center Virtual Machine Manager 2012 R2 has bare metal OSD deployment built-in. This session is all about that. You will learn how to do discover, how to deal with drivers, networking and you will learn how to troubleshoot the process and most of all you will learn how to NOT troubleshoot, since you will learn how to do it correctly. You will also see how to deal with hardware configuration, firmware and such, expect lots of demos and PowerShell.

As you can see the session will be focusing on bare metal deployment, something I have been doing for many years now. Besides the actual deployment I will also show you how to do the network and storage related configuration to get VMQ to work correctly and some other stuff. This is going to be fun!

Note: If you are going to TechEd and you do join the session, please, step up to the podium and say hi.


Categories: MDT

Event – CA Accelerate IT PRO Camp, Stockholm 10,22,23 of April 2014 – Windows Client deployment and then some…

Mon, 04/07/2014 - 16:31

(in Swedish)

LabCenter kommer tillsammans med Microsoft att genomföra en dags workshops kring Windows 8 och Windows 8.1 klienten med fokus på administration och utrullning I föreatags miljöer. Cirka halva dagaen är förläsningar och demonstrationer och den andra halvan är hands-on. av dom 3 event vi kör så är 2 fullbokade, men det finns ett tillfälle med cirka 10 platser kavr och det är där du kommer in!

Vi visar hur du kan gå från en tidigare version av Windows och Office till en mer modern miljö och kunna dra nytta av de senaste teknologierna kring säkerhet och mobilitet.

Under dagen går vi igenom grunderna i Windows 8/8.1 och Office 365 klientutrullning genom interaktiva presentationer, demos och hands-on laborationer.

  • Introduction to Windows 8.1, Office 365 ProPlus and Office 2013
  • Image Creation, Lite Touch/Zero-Touch Deployment
  • Strategies & Office 2013 Deployment
  • Windows to Go Creation and Deployment
  • Windows 8/8.1 Security
  • Application Delivery with App-V
  • User Personalization with UE-V

Datum att välja på:
Stockholm 10 april 2014 – Fullt!
Stockholm 22 april 2014

Stockholm 23 april 2014 – Fullt!
Plats: LabCenter, Oxtorgsgränd 2, 111 57 Stockholm
Längd: 1 dag (09.00-16.30)
Instruktör: Mikael Nyström
Workshopen är kostnadsfri.

Läsa mer och anmälan –

Categories: MDT

Reduce DNS Client Cache in Windows Server 2012 R2

Sun, 04/06/2014 - 12:48

A very good friend (and Geek) wrote a post about modifying the cache when using RDP Gateway. A very common issue we have is when we deploy, configure and re-construct the infrastructure is that the gateway is keeping the cache a bit to long.

Get the solution from Markus Lassfolk


Categories: MDT

TechX–Azure In Sweden next week!–Don’t MISS it!

Sun, 04/06/2014 - 12:43

(In Swedish)

Nästa vecka är det TechX Azure ( och då kör jag och Markus Lassfolk hela 6 sessioner, vilket gör att vi kommer att vara där hela dagen och köra!, så vill man så kan man vara I Vision hela dagen och njuta av en tillställning med oss. Vi kommer att bjuda på allt som har med IaaS att göra, Hybrid kopplingar, System Center, Azure AD och mycket mer än så. Här har du agendan:

om du inte har anmält dej så kan det finnas platser kavr (inte säker, men jag tror det)


Categories: MDT

PowerShell is King–Measure disk performance for IOPS and Transfer rate

Wed, 04/02/2014 - 11:08
The need

Since I build datacenters I need to verify performance and you can do that using SQLIO. But there is a lot of parameters, a lot of typing and to make testing a bit more consistent I was reading Jose Barreto’s blog and that gave me inspiration to create a PowerShell script that is a bit more complete and here you can see the result of it. We use this to measure performance on local disks, SMB storage, Storage Spaces, SAN storage, iSCSI storage, basically everything, now it is easy to “spot” the issue, since we have seen the numbers so many times.

Output sample in table format.

Output in Grid view.

The Download

You can download the script from here:

To use it you need to have SQLIO from Microsoft and you need to store the SQLIO.exe file in the same folder as the script, this way it is easy to move around the test tool as a kit, since SQLIO does not really needs to be installed, the download is an MSI file, so you need to install it once or extract it

You can download SQLIO from here:

The script it is rather easy, it is basically a wrapper for SQLIO.exe but it gives you an output as a table or in a grid. There is two options to measure workload, you either measure IOPS or Transfer rate.

The howto

.\Measure-DiskPerformance.ps1 -TestFileName test.dat –TestFileSizeInGB 1 -TestFilepath C:\VMs -TestMode Get-LargeIO -FastMode True -RemoveTestFile True -OutputFormat Out-GridView


-TestFileName test.dat

The name of the file, it will create the file using FSUTIL, but it checks if it exists and if it does it stops, you can override that with the –RemoveTestFile True

–TestFileSizeInGB 1

Size of the file, it has fixed values, use the TAB key to flip through them

-TestFilepath C:\VMs

The folder, can also be an UNC path, it will create the folder so it does not need to exist.

-TestMode Get-LargeIO

There is too test modes Get-LargeIO or Get-SmallIO, you use Get-LargeIO to measure the transfer rate and you use Get-SmallIO to measure IOPS

-FastMode True

Fastmode true runs each test for just 10 seconds, it gives you a hint, if you don’t set it or set it to false it will run for 60 sec (it will take a break for 10 sec between each run)

-RemoveTestFile True

Removes the test file if it exists

-OutputFormat Out-GridView

Choose between Out-Gridview or Format-Table


Categories: MDT

Nice to Know–MVP for one more year!

Tue, 04/01/2014 - 15:31

Friends, I’m happy to inform you that I have been awarded the Microsoft MVP title.


Categories: MDT

Training–Geek Week in Sweden

Wed, 03/26/2014 - 11:04

For a couple of years, Johan Arwidmark and I have been delivering a very special kind of training that we call Geek Week. But, we have NEVER done it in Sweden where we actually lived. So, finally after many requests we are running the Geek Week in Sweden. During one entire week we will go trough the entire System Center Suite from a Windows Client  perspective and that means, ConfigMgr, SCVMM, OpsMgr, Windows Server 2012 R2, Windows 8.1, MDT, WDS, Orchestrator and then some. It is a very special week. So, lets switch into “Swedisch”….


Categories: MDT

Event – TechX Azure–(Sweden)

Wed, 03/26/2014 - 03:36

Theese are my sessions at TechX Azure in Sweden. The full Agenda is here and here is how you sign up for it


Building Hybrid Solutions – The reasons why you should

Hybrid cloud could be something you have longed for without knowing it. So, what does define the needs?  What will it give you? Why should you always build it? This session will cover the benefits and the basic design needed to make this work. You will learn in what scenarios this is a great solution and in what scenarios this is just an “ok” solution.

Speaker(S) : Mikael Nystrom and Markus Lassfolk

Level: 200

Download Windows Azure Pack and run your own Azure Solution

Azure is great, but what if you would like to have your own Azure, is that possible, YES!, it is, Windows Azure Pack is available for download and using WAP means that you can expose your internal infrastructure exactly as Azure works. In this session you will learn what is needed to make this work and the pitfalls that is to fall into. Note that this session is highly technical and consists mostly of demos.

Speaker(S) : Mikael Nystrom and Markus Lassfolk

Level: 300

Running a full implementation of Remote Desktop Services in Azure – How to?

Remote Desktop Services is in many situations a great solution, but is it possible to run that workload in Azure? Even if it is possible, how to deal with roaming profiles, synchronize data with your on premise datacenter, or should you? At first it seems like an easy setup, but after a while the questions starts coming. In this session you will learn how to set this up, to configure and what design considerations you must take to make it work the way you expect.

Speaker(S) : Mikael Nystrom and Markus Lassfolk

Level: 300

Using Azure as part of a Datacenter Disaster Recovery Scenario

Azure has a new services that has the ability to orchestrate a datacenter failover in the case of a disaster. This service will connect to multiple datacenter and if needed makes sure that all servers are started in the correct order. It uses the Hyper-V Replica feature and System Center Virtual Machine Manager 2012 R2 on the local sites and azure will be the head master and manage the recovery if needed, during this session you will learn how to configure it and how this service could be a real life saver.

Speaker : Mikael Nystrom

Level: 300

Categories: MDT