Developers, Technology Evangelists, Bros.

Disable Windows Update in Windows 10 IoT Core with PowerShell

This post is the fourth of a series describing our automation efforts for provisioning Windows 10 IoT core on a Raspberry Pi. To recap, KiZAN has a lab of 26 Raspberry Pi 2 boards running Windows 10 IoT core. On a regular basis, we need to re-flash, provision, and configure the boards. When we perform the re-flash and provisioning process, it is manual, and consumes more time than we want to spend (up to 2 days). In this post, you’ll learn how to disable Windows Update in Windows 10 IoT Core with PowerShell.

Posts in this series:


Before we dive into disabling Windows Update, I want to make it clear that I’m no advocating you disable Windows Update. In our circumstance (our lab), it’s important that we have an absolute stable environment that doesn’t ever change. As a result, we needed to disable Windows Update. In a production scenario, you shouldn’t disable Windows Update.

IoT security is a major concern. We’re well on our way to having 50 billion (yes, five-oh Billion) IoT devices, and each of these devices is a potential security risk. It is incredibly important to keep devices up-to-date because each additional device increases an organization’s exposure and surface area for compromise.

With that said, let’s dive into disabling Windows Update, against all recommendations and advice.

Disable Windows Update

To disable Windows Update, I’ll be using the same technique used in the previous two posts: remotely execute a PowerShell script. A PowerShell script will be run remotely with Invoke-Command. The code used in the script for disabling windows updates is below:

This script contains a series of commands to disable the Windows Update service, stop it, verify it’s been stopped, and verify it’s been disabled. The output for this script is below:

disable windows update command output

Below is all of the code used for Disabling Windows Updates on Windows 10 IoT Core devices. Our next post in the series is setting the display resolution.

Running the PowerShell script remotely

This script needs to run remotely, so, I saved the script into a file named Disable-WindowsUpdate.ps1 and executed it remotely.

In the next post, I’ll teach you how to set the screen resolution of Windows 10 IoT core with PowerShell.

Many thanks to Ryan DiChiara, one of our summer interns for doing a lot of the legwork (and writing) this post!


1 comment for “Disable Windows Update in Windows 10 IoT Core with PowerShell

  1. Avatar
    March 28, 2018 at 4:54 pm

    Thanks !

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.