Windows Updates to Windows Servicing

When Windows 10 was released, one of the biggest things that worried IT System Admins was the pretty major change to the way Windows Updates were deployed. Traditionally, Microsoft released an assortment of security fixes and minor non-security fixes every month. Then once or twice a year they may have released service packs as fix rollups and feature improvements. This approach allowed IT System Admins to push security patches out whenever they got round to it or let computers update themselves. Then every X amount of years (or never) they thought about planning to upgrade their IT estate which would be a massive project.

With Windows 10, this all changed and this year, it changed for earlier operating systems too.

Continue reading “Windows Updates to Windows Servicing”

Windows Updates to Windows Servicing

Disabling Keyboard Keys with Scan Code Maps

Last week, I was working on a project to roll out a number of MS Surfaces as kiosk devices. As part of the configuration, I was required to somehow stop users exiting the kiosk software by pressing Alt-F4 or Esc. After some research (googling), I decided the best way to achieve this was using “scancode maps”.

Continue reading “Disabling Keyboard Keys with Scan Code Maps”

Disabling Keyboard Keys with Scan Code Maps

Using PowerShell to get folder sizes

At work, I had to gauge how much impact turning off folder redirection would have for a customer. To do this you need to figure out how much data users have in their redirected folders, because the process will copy everything down to their local folder.

The structure of the folders was, “Username\Documents” with “Documents” being the redirected folder. So initially, I looped through each of the Username folders and grabbed the Length property of each. However, what I found was that a lot of them didn’t have a Length property for whatever reason.

Continue reading “Using PowerShell to get folder sizes”

Using PowerShell to get folder sizes

ConfigMgr Preflight with XAML and PowerShell Part 2

Its been a little while since I’ve had chance to sit down and think up a post. The end of September was the deadline for a big project I’ve been working on, so I was pretty busy trying to make sure things were done. Things have slightly settled down now, so I’ve had more time to play with personal projects and improve my ConfigMgr app.

A separate idea I had for PowerShell and ConfigMgr, was to create some kind of portal for 1st line technicians to add machines for Operating System builds. The idea being they wouldnt have to go into the console to import computer information. My initial thoughts were to use a html frontend, which I would host on a tiny web server and then have PowerShell do my script work. After digging into this I figured it would require a proper web app to do something like that, using server code.

Continue reading “ConfigMgr Preflight with XAML and PowerShell Part 2”

ConfigMgr Preflight with XAML and PowerShell Part 2

ConfigMgr Preflight with XAML and PowerShell

There are so many of these out and about, but I love making things myself, so I’ve written a preflight tool to run a number of checks before a ConfigMgr build can progress.

Most of the tools I’ve seen that provide this functionality, use a HTA or winforms. I didn’t want to use either of these because I felt they were old technologies. So I decided to figure out if it was possible to generate a XAML UI using PowerShell as a “backend”. As PowerShell is based on .Net, it was pretty easy 🙂

If you just want to take a look at the script, its here on GitHub. Although I’m happy with how it is currently, I’m still adding functionality. For now I’ll try and walk through how it currently works.

Continue reading “ConfigMgr Preflight with XAML and PowerShell”

ConfigMgr Preflight with XAML and PowerShell

WinPE Initialization failed with error code 0x80220014

I came across this issue during a deployment for a customer:

Windows PE initialization failed with error code 0x80220014.

The fix is well documented here.

Essentially, the PE wims included in ADK 10 1511 require a fixed schema.dat file. So you have to mount the wims in DISM and replace the existing schema.dat files with the ones provided in the hotfix download.

Or you could update to ADK 10 1607.

WinPE Initialization failed with error code 0x80220014

Offline Image Servicing – Windows 10 Image shows Windows 8 updates

I’ve had a bit of time recently to work on my  ConfigMgr lab environment and one of the tasks I had on my list was to look into offline image servicing. This functionality allows you to inject updates into your reference image on a scheduled basis, straight from the console.

However, when I tried to schedule servicing for my Windows 10 1511 images, it only showed me Windows 8 updates. After a lot of digging I discovered that in my image properties it was displaying my image version number as 6.2.10240.16384. You can see this by selecting your image and in the bottom pane, viewing your OS Version:

2016-09-07-18_06_54-uknuk1s219-thames-general-navigator-127-0-0-1_9100-remote-desktop-connection

Continue reading “Offline Image Servicing – Windows 10 Image shows Windows 8 updates”

Offline Image Servicing – Windows 10 Image shows Windows 8 updates

Windows 10 Dark Theme

I’m one of those techies who likes to customise every application I use with pretty icons and colours. And like alot of my peers, I love dark themes. So I thought I would share how you can do this for you your Windows 10 apps

In build 1607 or “Anniversary Update”, its really simple, you can enable it in Settings > Personalization > Colors and you can chose either a Light or Dark “App Mode”.

Pre 1607, there are two registry entries you can make to add the same dark mode:

Key: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize
ValueType: DWORD(32Bit)
ValueName: AppsUseLightTheme
ValueData: 0

Add the same DWORD under HKCU, then logout and back in and you’ve got Windows Dark theme.

Windows 10 Dark Theme