web analytics

Home » Posts tagged 'Operating Systems'

Tag Archives: Operating Systems


OSD – Enforce Default User Background

To ensure that the same background is applied to all users when they log in, you can add two Task Sequence steps that will automatically set their background to whatever you specificy it to be..

Then we can set the style, or how it will apply…

There are 6 possible values:

Wallpaper StyleValue Data

Rermember to replace <PATH>\background.jpg with the actual path of your file (No quote marks or the image wont be applied!)

OSD – Remove Edge Icon from Windows 10

Here is how to remove the Edge Icon from the desktop on Windows 1803:

Create a new “Run Command Line” step with the following command:

And voila – the Icon is gone!

(Credit for Reg Hack goes to  NathanielArnoldR2 on Reddit)

OSD – Activate VM using Hyper-V AVMA Key

If you are running Hyper-V on Windows Server 2016 DataCenter, then one nice feature is that you can activate VMs running a Server Standard / DataCenter guest OS using a special “Automatic Virtual Machine Activation” key.

The keys are:

Operating SystemKey
Windows Server 2012 R2 EssentialsK2XGM-NMBT3-2R6Q8-WF2FK-P36R2
Windows Server 2012 R2 Standard DBGBW-NPF86-BJVTX-K3WKJ-MTB6V
Windows Server 2012 R2 DatacenterY4TGP-NPTV9-HTC2H-7MGQ3-DV4TW
Windows Server 2016 Essentials B4YNW-62DX9-W8V6M-82649-MHBKQ
Windows Server 2016 StandardC3RCX-M6NRP-6CXC9-TW2F2-4RHYD
Windows Server 2016 Datacenter TMJ3Y-NTRTM-FJYXT-T22BY-CWG3J

So naturally, I incorporated it as a step in my Task Sequences for Server deployments.

First, I created a Group called “VM Guest Actions” and gave it the following condtions:

This ensure the following steps only apply to Virtual Machines..

For each step in this group we also need to ensure it only applies to qualifying VMs – in this case – 2016 DataCenter

Apply this to all steps in the group – changing the condition as appropriate for your Server OS.

First step we need is to assign the AVMA key, so create a new Command Line step with the following command:

Remember to replace the key for your version of windows..

Next step is to activate the key:

So, again, we need another Command Line step with the following command:

Again, remember to filter it for your desired OS Version.


Now when, you build a server OS and its a VM on a DataCenter Host, it will get activated.



OSD – Monitoring OSD Deployments

Unfortunately, ConfigMgr doesn’t have a default filter for monitoring what is happening during an OS Deployment

Fortunately, it is rather easy to create a filter yourself

Open the Console and head to the Monitoring section, expand System Status and then on “Status Message Queries”

Now, Click on the “Create Status Message Query” on the ribbon..

Enter a name for your query – (EG OSD Deployment Monitoring) then click  on Edit Query Statement

Click “Show Query Language” and copy the following code into the box:

the text that is preceded by ## will act as a prompt for you later.

The window should now look like this:

Click OK until all the dialogs are closed.

Your query is almost ready to run.. All we need now is the Deployment ID you want to monitor.

This is obtained by going to your Task Sequence, Clicking on the “Deployments” tab and adding the “Deployment ID” column

Make a note of the Deployment ID then go back to your query in Statue Message Queries and run your query by selecting it and clicking “Show Messages” (Don’t double click it or you will open the editor!)

Click the “Property Value” and either type in your Deployment ID, or click on “Load Existing” and find it in the dropdown box

Finally, click on Time and choose the appropriate time range.

Your query will now be running and you can refresh (or set an auto-refresh) to see where your deployment is up to!

OSD – Creating a Multi OS Task Sequence

For a while, like most of you I guess, I have maintained at least one Task Sequence for not only each type of OS (Server, Windows 7, Windows 10, etc) but also for each edition of an OS (Pro, Enterprise, Standard, Data Center, etc).

Whilst this is great, it does mean that it requires a lot of effort to keep these up-to-date when you have new Applications, or Updates ,or drivers.

Each individual TS needs to be updated to reflect those changes.


So, I decided to try and reduce that to one “Super” task sequence that has everything in on place and installs the required OS, Setttings and Apps all from a single variable that you specify at the start of the Deployment.

Here’s how:

Create the Collection Variable

This is essential – without this the whole thing wont work. Simply create a new Collection Variable (see here for how) and call it something suitable – I used “OSSelection”.

Create the Task Sequence

You can either create a new TS from scratch, or as I did, create a blank TS and copy/paste your existing information in and edit it there.

For ease I am only doing 2 OS types – Server 2016 and Windows 10

Once you have done that you can start to organise it depending on your requirements.

First up was to select which Operating System to apply.

So I created a group called “OS Selection and moved the existing Apply Operating System Image step into here and copied it, renamed them to my respecting OS and changing the settings accordingly. The example below shows my settings for Server 2016:

Server 2016 Settings

Once done, we now need to tell the TS when to apply these settings by clicking on the Options tab and settings the conditions as shown:

.This means that this step will only apply if you enter “2016” into the prompt during deployment – more on that later

For Windows 10, I decided to use the release number (1703, 1709, 1803, etc)

It is then just a case of repeating the process for all the settings where you only want them to apply to specific OS types or versions

The following condition can be used to apply to all non Windows Server OSs (10,7, etc) and, as its applied to a group, will affect all steps within that group:

And this is the end product. The expanded sections (except the top branch) are where I have applied my conditions:

That’s it – just deploy it to the desired collection (In this case – All Unknown Computers). Oh and remember to add a boot image as well!

I also created Collection Variables with preset values so that if a machine needs to be re-imaged, the correct OS Variable is re-applied. (You don’t want your Web Server to become Windows 10!)

Deploying your Task Sequence

Once you have deployed your TS you can now use it:

Select the Task Sequence:

Now Fill in your variables – As this is a new computer, I also need to fill in its intended name.

By entering “2016” I am saying I want to install Server 2016…

And we’re off..

That’s it!

Happy Imaging.

%d bloggers like this: