The Deployment Bunny

OS Deployment, Virtualization, Microsoft based Infrastructure…

  • Archives

  • Meta

PowerShell is King – New-VIARandomPassword

Posted by Mikael Nystrom on April 6, 2017

Long time ago i needed a function that creates random passwords that can be used when creating accounts, we have been using this for a long time, a few minutes ago Johan Arwidmark asked where the script is. The answer is, it is in one of the modules that I have on GitHub

Link to the module:

You download it, import it an then you have a new command


Import-Module C:\Setup\Functions\VIAUtilityModule.psm1
New-VIARandomPassword -PasswordLength 15
New-VIARandomPassword -PasswordLength 15 -Complex $true



Very easy to use, you can select to do it standard or complex and if you need many of them just loop it.


Posted in Functions, PowerShell | Tagged: , | Leave a Comment »

Event in Stockholm – Second Wednesday (2W): Storage Spaces Direct and Hyper Converged Online and Free! April 12 – 2017

Posted by Mikael Nystrom on April 6, 2017


(in Swedish, since the event is in Swedish)

Jag och Jörgen kör ett kvälls event på LabCenter den 12:e april, då bjuder vi på lite tilltugg och 3 timmar med Storage Spaces Direct och Hyper Converged. Vi har gjort en dröse sådana installationer och vill gärna dela med oss av dom roliga delarna såväl som dom tråkiga.

Det blir snabbt fullt på plats, men du kan ju alltid titta hemifrån

Anmäl dej här:

Läs här:


Posted in Event, Hyper-V, Storage Spaces, Windows Server 2016 | Tagged: , , , | Leave a Comment »

OSD – App-V tools are missing in ADK 1703 when being installed on Windows Server 2016 (sometimes)

Posted by Mikael Nystrom on April 6, 2017

In ADK 1607 the App-V tools was included in the ADK, for some reason they don’t show up when installing on Windows Server 2016 (sometimes). If you install on Windows Server 2012 R2 it works as expected

Install ADK 1703 on windows server 2016 - 1

The App-V task Sequencer is missing.

The solution:

It is however possible to manually install the App-V Sequencer if you downloaded the entire kit.

Find the file “Appman Sequencer on amd64-x64_en-us.msi” and run the installer, and “woops”, there it is:




Posted in ADK, OS Deployment, OSD | Tagged: , , | 4 Comments »

OS Deployment – Installing ADK 1703 on Windows Server 2016 could fail

Posted by Mikael Nystrom on April 6, 2017

Update:It does not happens on all WS2016 machines, it happens only on computer where Secure Boot is enabled. This also means that this will happen on every machine that is using Secure Boot, regardless of OS version. It is a confirmed bug.

Yesterday Microsoft released Windows 10 1703 and also ADK 1703. But it fails to install correctly, the ADK actually installs, but it is the WIM mount driver that fails, du to this absurd message.

Install ADK 1703 on windows server 2016 - 2

A digitally signed driver is required

The message indicates that the driver Windows Overlay Filter is not signed.

The Solution:

According to this , the solution is to disable Secure Boot, really???



Posted in ADK, OS Deployment, OSD | Tagged: , , | 2 Comments »

Nice to Know – Windows 10 1703 is now available for download

Posted by Mikael Nystrom on April 5, 2017

A few minutes ago Microsoft released Windows 10 1703

You can find it on MSDN as well as at on TechNet


You can read more about it here


Posted in Windows 10 | Tagged: | Leave a Comment »

Nice to Know – New feature in Windows 10 Creators Update

Posted by Mikael Nystrom on March 29, 2017

One of the new features in the upcoming version of Windows 10 (Windows 10 – Creators Update) is the Windows Defender Security Center, as you might expect it is defender, but it also includes a nice little health check


In this case, there is something wrong, maybe we should take a look…


Seems that I have an issue with a device driver, hmm, need to fix that


Let us run that and see what is wrong…


Big surprise (not really), one of my virtual network adapters are turned off.

That should give you an idea what the new feature is all about, pretty nice, pretty cool.


Posted in Nice to Know, Windows 10 | Tagged: , | 3 Comments »

Working in the Datacenter – SCOM 2016 MP’s for WS2016

Posted by Mikael Nystrom on March 14, 2017

So, here is the list of updated MP’s for Windows Server 2016, not all seems to be done but Kevin Holman has a nice list with URL’s for those that have been released so far.

Check this site for more info:



Posted in System Center 2016, Windows Server 2016 | Tagged: , | Leave a Comment »

PowerShell is King – Building a Reference Image Factory (v 3.2)

Posted by Mikael Nystrom on February 23, 2017

The Image Factory has been re-worked and updated. It also has moved to GitHub

Concept and flow

The idea is the same, we use MDT, create refimages task sequences that runs without any questions. A PowerShell script will grab all enabled Task Sequences in a specified folder, create a VM for each of them. Grab the Bios Serial number from each om them, update customsettings ini with that information, start the VM’s (number of concurrent VM’s determine how many VM’s can run at the same time, wait until all VM’s are done and finally removes all VM’s for a cleanup process. You can run the script as is (if you store it in C:\Setup\ImageFactoryV3ForHyper-V on you MDT server), or you can open it in ISE and run section by section to see what happens.

The XML file (C:\Setup\ImageFactoryV3ForHyper-V\ImageFactoryV3.xml)

Is a control file for settings, pretty straightforward, just make sure that all values are correct.


The Script C:\Setup\ImageFactoryV3ForHyper-V\ImageFactoryV3-Build.ps1

The script contains some functions and logic, each section is described so you do know what it does. There are switches to the script,

  • -UpdateBootImage
  • -EnableMDTMonitoring
  • -TestMode

UppdateBoot image $True, updates the bootimage before copy, EnableMDTMonitoring require that MDT monitoring is enabled of the deployment share and testmode is not yet working (I’ll get back on that)


The PSINI Module

One big change is that instead of using a hack, (using KVP) I switched over to use a module called PSINI, it basically turns customsettings.ini into a hash table, making it easy to configure using PowerShell. That also means you need to download that module from TechNet Gallery all credit for that module goes to

Have Fun


Posted in MDT, PowerShell, Reference Image | Tagged: , , | 21 Comments »

Nice to Know – Update Rollup 2.1 for System Center 2016 Virtual Machine Manager

Posted by Mikael Nystrom on February 22, 2017

And you should download and install this now. It contains fixes that was caused by Update Rollup 2.0.


Link to KB:

Link to Patches:

Download the Administrator Console update package now

Download the Virtual Machine Manager Server update package now

And Do NOT to forget to update the agents!

Posted in SCVMM, Virtual Machine Manager | Tagged: , | Leave a Comment »

OSD – Conditional disk layout (based on model)

Posted by Mikael Nystrom on February 10, 2017

A while back I did an online training for Penton Tech on Windows 10 OS Deployment. One of the attendees had a question (you know who you are).

– Is it possible to format and partition differently, based on what model I’m deploying?

Yes, you can have different disk layout/partitioning/volumes, based on anything, and that includes the model of the computer. I use this when deploying servers and client to have different partition schemas on virtual machines, I do not need to have the recovery partition in the end of the virtual disk, I don’t really “repair” a Virtual Machine the same way as i recover a physical machine, and you should not.

So, how do you do this?

Open your task sequence and modify the New Computer step like this.

The modified Task Sequence.

In this Task Sequence there are three different group’s, one for virtual machines, one for HP ZBook Studio G3 and the last one for everything else.

The modification starts under Validate, the first step after that sets DiskDone=NO, next step is the Group named Virtual Machine with the following conditions set:

Conditions on the group Virtual Machine.

The the group is executed if the Model is ‘Virtual Machine’ and DiskDone is NOT set to YES, so basically if it is a Virtual Machine it will partition/format according to the steps in the group. In the end of the group it will set DiskDone to YES, that way we know the disks are done and we can use that to prevent the following partitioning steps from running. Let us check the next step:

Conditions on the group HP ZBook Studio G3.

This step is the same as the step for Virtual Machine with one difference, in this case it only runs when the Model is a HP ZBook Studio G3. Let us check the last step:

Conditions on the group All others.

The last groups executes on any device, as long as DiskDone is NOT set to YES.

The Result.

Here is the result when running this in a Virtual Machine:


Here is the result when running this on a HP:


Here is a plain vanilla install:


Have fun!


Posted in Lite Touch, MDT, OS Deployment, OSD | Tagged: , , , | Leave a Comment »