Home » Posts tagged 'Operating Systems'
Tag Archives: Operating Systems
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..
CMD /C REG ADD HKU\DU\Control Panel\Desktop /v "Wallpaper" /t REG_SZ /d "<PATH>\background.jpg" /f
Then we can set the style, or how it will apply…
There are 6 possible values:
|Wallpaper Style||Value Data|
CMD /C REG ADD HKU\DU\Control Panel\Desktop /v "WallpaperStyle" /t REG_SZ /d "4" /f
Rermember to replace <PATH>\background.jpg with the actual path of your file (No quote marks or the image wont be applied!)
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:
cmd /c reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ /v "DisableEdgeDesktopShortcutCreation" /t REG_DWORD /d "1" /f
And voila – the Icon is gone!
(Credit for Reg Hack goes to NathanielArnoldR2 on Reddit)
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:
|Windows Server 2012 R2 Essentials||K2XGM-NMBT3-2R6Q8-WF2FK-P36R2|
|Windows Server 2012 R2 Standard||DBGBW-NPF86-BJVTX-K3WKJ-MTB6V|
|Windows Server 2012 R2 Datacenter||Y4TGP-NPTV9-HTC2H-7MGQ3-DV4TW|
|Windows Server 2016 Essentials||B4YNW-62DX9-W8V6M-82649-MHBKQ|
|Windows Server 2016 Standard||C3RCX-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:
cscript //b C:\Windows\System32\slmgr.vbs /ipk TMJ3Y-NTRTM-FJYXT-T22BY-CWG3J
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:
cscript //b C:\Windows\System32\slmgr.vbs /ato
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.
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:
left join SMS_StatMsgInsStrings
on SMS_StatMsgInsStrings.RecordID = SMS_StatusMessage.RecordID
left join SMS_StatMsgAttributes
on SMS_StatMsgAttributes.RecordID = SMS_StatusMessage.RecordID
where SMS_StatMsgAttributes.AttributeID = 401 and SMS_StatMsgAttributes.AttributeValue = ##PRM:SMS_StatMsgAttributes.AttributeValue## and SMS_StatMsgAttributes.AttributeTime >= ##PRM:SMS_StatMsgAttributes.AttributeTime## order by SMS_StatMsgAttributes.AttributeTime DESC
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!
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.
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:
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..