With Windows 11/10, there are some changes in the Windows Updates algorithm. As Windows Updates section is eliminated from Control Panel and all the settings in context to the feature is confined to Settings app only. This suppressed the ability of an user to select an specific update he/she wants to install. So they can’t specify selective updates and as a result of this, all updates are downloaded and installed automatically. In this guide, you’ll learn how to install a specific Windows Update in Windows 11/10.
Automatic updates may consume your data bandwidth. You can also natively defer upgrades if you like. The pause update feature can also be used to turn off updates for a limited time period.
Today, in this article, we’re going to show how you can select the updates which you want to install. This will give you the freedom to install only those updates which are relevant for you. Hence, using this way, you can save your valuable data which could have wasted in downloading irrelevant updates. Also you’ll save your time by preventing installation of those updates which you don’t need.
Without wasting time anymore, here is the how-to part:
How To Install A Specific Windows Update In Windows 11/10
Follow these steps carefully, and make sure to create a System Restore point before starting. You may also need to signed in as administrator of your system.
1. First of all download the Windows Update PowerShell Module from following link:
Download Windows Update PowerShell Module
The module is in ZIP format, so you can easily extract it using in-built decompression ability of Windows. Right click on .zip file and select Extract all.
2. Now press Windows + R and type this into the Run dialog box and press Enter key / click or tap OK:
%WINDIR%\System32\WindowsPowerShell\v1.0\Modules
3. Moving on, copy the extracted ZIP folder named as PSWindowsUpdate from step 1 to Modules folder so opened from step 2:
You need to provide the permissions for this operation by clicking Continue option here:
4. Press + S and type powershell in the search box. Choose Windows PowerShell form results, right click on it as select Run as administrator. In the elevated or administrative Windows PowerShell window, type following command and press Enter key:
Set-ExecutionPolicy RemoteSigned
Then you’ll be asked to changing execution policy for current operation. Type Y and press Enter to provide your confirmation. Then type these commands followed by Enter key:
Import-Module PSWindowsUpdate
Get-WUList
This will list all available Windows Updates for you. To install a specific update, type following cmdlet and Enter key then:
Get-WUInstall -KBArticleID KB<UPDATE NO.>
* Substitute your desired update KB ID with <UPDATE NO.>. For example, to install update KB3081441, I’ll use cmdlet as Get-WUInstall -KBArticleID KB3081441.
As soon as you typed cmdlet and press Enter, you’ll be asked for confirmation. Type Y and press Enter key. Now, the update will be downloaded depending upon speed of your Internet connection and will be installed automatically as well. You can then close Windows PowerShell if you like.
That’s it!
Originally written on Aug 22, 2015. Last updated for Windows 11.
51 Comments
Add your comment
Hey just checked it on my windows 10 n it works. Thanxx a lot man l great find!!
^^ Glad it worked! Thanks for feedback :)
” Get-WUInstall KBArticleID KB” . A “dash is required before KBArticle as shown in your screen-shot. Thus the correct syntax is: ” Get-WUInstall -KBArticleID KB” This correction just above the screen-shot will be highly appreciated. Thanks for the cute article. – David
^^ Corrected, thanks for pointing it out :)
^ awesome post — just awesome! Let more come ;-)
Unfortunately Windows 10 isn’t letting me install the module because the files aren’t digitally signed. I did say ‘yes’ to changing the execution policy. Any advice please? The error shown is:
Import-Module : Errors occurred while loading the format data file:
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSWindowsUpdate\PSWindowsUpdate.Format.ps1xml, ,
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSWindowsUpdate\PSWindowsUpdate.Format.ps1xml: The file was skipped
because of the following validation exception: File
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSWindowsUpdate\PSWindowsUpdate.Format.ps1xml cannot be loaded. The
file C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSWindowsUpdate\PSWindowsUpdate.Format.ps1xml is not digitally
signed. You cannot run this script on the current system. For more information about running scripts and setting
execution policy, see about_Execution_Policies at go.microsoft.com/fwlink/?LinkID=135170..
At line:1 char:1
+ Import-Module PSWindowsUpdate
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Import-Module], RuntimeException
+ FullyQualifiedErrorId : FormatXmlUpdateException,Microsoft.PowerShell.Commands.ImportModuleCommand
^^ Try using
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
cmdlet. This will work for a single session and when once PowerShell window closed, you need to run it again. Let me know if this helps.^^ Thanks – your alternate suggestion works for the issue reported by Gary F
^^ Glad it worked! :)
I got the following message:
PS C:\Windows\system32> Get-WUInstall -KBArticleID KB3012973
Confirm
Are you sure you want to perform this action?
Performing the operation “Upgrade to Windows 10 Pro, version 1511, 10586[3 GB]?” on target “AKIN-NVY”.
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is “Y”): y
X Status KB Size Title
– —— — —- —–
2 Accepted KB3012973 3 GB Upgrade to Windows 10 Pro, version 1511, 10586
3 Failed KB3012973 3 GB Upgrade to Windows 10 Pro, version 1511, 10586
WARNING: Don’t found any downloaded Updates to Install
^^ Seems like the method may have an exception for large update downloads. Make sure your data bandwidth is not Metered one and retry to download, see if it helps.
Mine failed to install. What could be the problem? Thnx!
^^ Any error message/code you recieved?
I receive a “Failed” trying to install KB3012973:
PS C:\Windows\system32> Set-ExecutionPolicy RemoteSigned
Execution Policy Change
The execution policy helps protect you from scripts that you
do not trust. Changing the execution policy might expose you
to the security risks described in the
about_Execution_Policies help topic at
go.microsoft.com/fwlink/?LinkID=135170. Do you want to
change the execution policy?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend
[?] Help(default is “N”): y
PS C:\Windows\system32> Import-Module PSWindowsUpdate
PS C:\Windows\system32> Get-WUList
ComputerName Status KB Size Title
———— —— — —- —–
DESKTOP-O… —— 7 MB AMYUNI Technologies -…
DESKTOP-O… —— 305 KB Realtek – LAN – Realt…
DESKTOP-O… —— 15 MB Alps – Keyboard – Len…
DESKTOP-O… —— 2 MB Intel – Other hardwar…
DESKTOP-O… —— 3 MB Intel – Other hardwar…
DESKTOP-O… —— 1 MB Intel Corporation – O…
DESKTOP-O… —— 1 MB Intel Corporation – O…
DESKTOP-O… —— 3 MB Lenovo Ltd – Other ha…
DESKTOP-O… D—– KB3012973 3 GB Upgrade to Windows 10…
DESKTOP-O… —— 783 KB Intel Corporation – B…
DESKTOP-O… —— 3 MB Intel – Other hardwar…
DESKTOP-O… —— 3 MB Intel – WLAN – Intel(…
DESKTOP-O… —— 46 KB Intel – Other hardwar…
DESKTOP-O… —— 46 KB Intel – Other hardwar…
DESKTOP-O… —— 46 KB Intel – Other hardwar…
DESKTOP-O… —— 46 KB Intel – Other hardwar…
DESKTOP-O… —— 46 KB Intel – Other hardwar…
DESKTOP-O… —— 46 KB Intel – Other hardwar…
DESKTOP-O… —— 216 KB AMD – Other hardware …
DESKTOP-O… —— 5 MB Realtek – Camera, Oth…
PS C:\Windows\system32> Get-WUInstall -KBArticleID KB3012973
Confirm
Are you sure you want to perform this action?
Performing the operation “Upgrade to Windows 10 Home, version
1511, 10586[3 GB]?” on target “DESKTOP-O4K65KC”.
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend
[?] Help(default is “Y”): y
X Status KB Size Title
– —— — —- —–
2 Accepted KB3012973 3 GB Upgrade to Windows 10 Home, …
3 Downloaded KB3012973 3 GB Upgrade to Windows 10 Home, …
4 Failed KB3012973 3 GB Upgrade to Windows 10 Home, …
I was able to successfully install another KB (for Siverlight update).
Thoughts?
^^ Please refer previous comments for hint :)
Hi, update installed successfully – at least PS said that, but I have still issues when I reboot PC, the “clocklike” installer appears with 0% on screen for just few miliseconds, windows boots and no update was installed.
I run PS Get-WUList and the same update ready for install is still there… I tried google hundred times, nothing helped.
Also KB3012973 update on DELL laptop…
^^ This means Windows was failed to configure the update and hence reverted changes. See if this fix helps you: https://www.kapilarya.com/failure-configuring-windows-updates-reverting-changes
Nothing happens after the ” Get-WUList ” command. Can’t even type anymore in powershell.
^^ Make sure you installed the module correctly.
Also…. just type Get-WUInstall and then hit enter, you will be prompted for all of the updates and can choose then to install them or not. Easier than inputting each one separately.
^^ That is equivalent to downloading/installing all updates under Settings app 😊
Hi, How to install Driver with this?
Hello,
This is my output. No KB….
Kindly advise. Thanks
PS C:\WINDOWS\system32> Get-WUList
ComputerName Status KB Size Title
———— —— — —- —–
ROG55VW —— 3 MB Intel – Other hardware – Intel(R) Watchdog Timer Driver (Intel(R) WDT)
ROG55VW —— 46 KB Intel – Other hardware – 3rd Gen Core processor DRAM Controller – 0154
ROG55VW —— 35 KB ASUS – System – 5/2/2017 12:00:00 AM – 1.0.0.7
ROG55VW —— 29 KB Microsoft – Printer – 6/21/2006 12:00:00 AM – 10.0.15063.0
ROG55VW —— 30 KB Microsoft – Printer – 6/21/2006 12:00:00 AM – 10.0.15063.0
^^ The important updates have KB number assigned. Wait for few time, the updates with KB ID will appear.
I have tried the above steps and when I attempt “Get-WUList” nothing happens. I’ve double checked that I extracted the PSWindowsUpdate correctly and copied it to the specified location in the Modules folder. I’ve tried waiting about 10 minutes now, but no action after entering “Get-WUList” – just a blinking cursor on the following line. I’m on version 1511 and have been trying for the last 2+ years to update with no success. Thanks for any help you could provide.
No dice on this system. get the following two lines. This 1803 update sucks!
2 Accepted KB4103721 87 GB Feature update to Windows 10, version 1803
3 Failed KB4103721 87 GB Feature update to Windows 10, version 1803
I have the same error as SadGamerDad . 90 GB for a download seems large but I am hard-wired to a fiber-optic lan. It fails after about 3 mins.
ComputerName Status KB Size Title
———— —— — —- —–
LAPTOP_4K —— KB4340917 90 GB Feature update to Windows 10, version 1803
PS C:\WINDOWS\system32> Get-WUInstall -KBArticleID KB4340917
X Status KB Size Title
– —— — —- —–
2 Accepted KB4340917 90 GB Feature update to Windows 10, version 1803
3 Failed KB4340917 90 GB Feature update to Windows 10, version 1803
^^ In that case, I would download the V1803 ISO file and upgrade using it: https://www.kapilarya.com/how-to-upgrade-to-windows-10-using-iso-file
Could you confirm that this tutorial is still relevant? It was written more than 3 years ago, and there is no indication anywhere saying the instructions are still up to date.
Thank you!
^^ It is still relevant and working method 😊
Hi,
I initially got the error outlined by GaryF above.
I used the reponse you provided and got past that step, however when the ” Get-WUList ” is executed there’s nothing comes back.
Just a new line with the “PS C:\windows\system32>” and a flashing cursor.
Can you advise please ?
Unfortunately it failed in my case Kapil sir please help
This was the error message–
PS C:\WINDOWS\system32> Import-Module PSWindowsUpdate
Import-Module : The specified module ‘PSWindowsUpdate’ was not loaded because no valid module file was found in any
module directory.
At line:1 char:1
+ Import-Module PSWindowsUpdate
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (PSWindowsUpdate:String) [Import-Module], FileNotFoundException
+ FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand
^^ It seems you missed steps 1-3. Can you please retry?
For those who do not want the extra find and download steps..
in admin powershell
Set-ExecutionPolicy RemoteSigned
yes
get-executionpolicy -list
(verifies)
Install-PackageProvider NUGet
yes
Install-Module PSWindowsUpdate
yes
(you may are may no want to try Import-Module PSWindowsUpdate)
Get-WUList
patience people. follow on with the commands from the wonderful writer of this article. Carry on. And remember, Patience.
Thank you for the article! I’ve been having update issues due to removal of many files, happily removed. I am glad for this, thank you!!
^^ Thanks for your inputs!
Thank you for this! What command would I use to install the items that are not Windows (KB) specific updates?
^^ This is only applicable to Windows Updates 😊
When I attempt to run Get-WUList -ComputerName ‘compname.domname’ -RootCategories ‘Critical Updates’,’Security Updates’, I get the following:
Exception calling “CreateInstance” with “1” argument(s): “Creating an instance of the COM component with CLSID {4CB43D7F-7EEE-4906-8698-60DA1C38F2FE} from the IClassFactory failed due to the following error: 800706ba The RPC
server is unavailable. (Exception from HRESULT: 0x800706BA).”
At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSWindowsUpdate\Get-WUList.ps1:287 char:6
+ $objSession = [activator]::CreateInstance([type]::GetTypeFromProgID(“Micro …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : COMException
You cannot call a method on a null-valued expression.
At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSWindowsUpdate\Get-WUList.ps1:291 char:5
+ $objSearcher = $objSession.CreateUpdateSearcher()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
unfortunately it didn’t work for me and I am getting the following error:
PS C:\WINDOWS\system32> Set-ExecutionPolicy -Scope Process -ExecutionPolicy
Set-ExecutionPolicy : Missing an argument for parameter ‘ExecutionPolicy’. Specify a parameter of type ‘Microsoft.PowerShell.ExecutionPolicy’ and try again.
At line:1 char:36
+ Set-ExecutionPolicy -Scope Process -ExecutionPolicy
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-ExecutionPolicy], ParameterBindingException
+ FullyQualifiedErrorId : MissingArgument,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand
^^ Please read steps mentioned in the article again. I’ve mentioned Set-ExecutionPolicy RemoteSigned not Set-ExecutionPolicy -Scope Process -ExecutionPolicy.
Finally got around to installing this. So simple, so brilliant! Thank you!
^^ Glad it helped 😊
PS C:\WINDOWS\system32> Set-ExecutionPolicy RemoteSigned
Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic at
go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is “N”): y
PS C:\WINDOWS\system32> get-executionpolic -list
get-executionpolic : The term ‘get-executionpolic’ is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and
try again.
At line:1 char:1
+ get-executionpolic -list
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (get-executionpolic:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
PS C:\WINDOWS\system32> get-executionpolicy -list
Scope ExecutionPolicy
—– —————
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine RemoteSigned
PS C:\WINDOWS\system32> install-packageprovider NUGet
The package(s) come(s) from a package source that is not marked as trusted.
Are you sure you want to install software from
‘onegetcdn.azureedge.net/providers/nuget-2.8.5.208.package.swidtag’?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is “N”): y
Name Version Source Summary
—- ——- —— ——-
nuget 2.8.5.208 onege… NuGet provider for the OneGet meta-package manager
PS C:\WINDOWS\system32> install-module pswindowsupdate
PackageManagement\Install-Package : No match was found for the specified search criteria and module name
‘pswindowsupdate’. Try Get-PSRepository to see all available registered module repositories.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1809 char:21
+ … $null = PackageManagement\Install-Package @PSBoundParameters
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Microsoft.Power….InstallPackage:InstallPackage) [Install-Package], Ex
ception
+ FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage
PS C:\WINDOWS\system32> get-psrepository
WARNING: Unable to find module repositories.
PS C:\WINDOWS\system32> install-module PSWindowsUpdate
PackageManagement\Install-Package : No match was found for the specified search criteria and module name
‘PSWindowsUpdate’. Try Get-PSRepository to see all available registered module repositories.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1809 char:21
+ … $null = PackageManagement\Install-Package @PSBoundParameters
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Microsoft.Power….InstallPackage:InstallPackage) [Install-Package], Ex
ception
+ FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage
PS C:\WINDOWS\system32> get-wulist
get-wulist : The term ‘get-wulist’ is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ get-wulist
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (get-wulist:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
PS C:\WINDOWS\system32> get-WUList
get-WUList : The term ‘get-WUList’ is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ get-WUList
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (get-WUList:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
PS C:\WINDOWS\system32>
WTF so annoying
^^ This article is only applicable to Windows Updates.
As others have asked, what about updates that have no KB number. Looking at above examples and my own, these are typically drivers or firmware updates that WU detects and installs on its own, but with no KB you can see them, but not use this method to install.
I ask because I manage a large number of machines via an RMM that includes a patch manager. This patch manager disable windows updates (on Pro and Enterprise editions of Win 10), and uses WU to find and install patches based off of a schedule we set. Unfortunately, it exhibits a similar issue where Windows Update will identify driver updates, but with WU off, they never install – our patch manger only installs the ones with a KB number.
^^ I’ll just echo, what I’ve said before, this method is only applicable to security updates which are being covered here: https://www.kapilarya.com/latest-windows-update-windows-10. The method is not for installing driver or firmware updates 😊
I’m surprised nobody addressed this issue: how do i get powershell to install those updates with a ‘KB ID’?
^^ Hope you find it useful!
Hi Kapil, Thanks for your guidance; I updated Security Intelligence Update, but unfortunately the windows update was failed. Do you have any idea to solve this issue?
you’ve got to be kidding. why shouldn’t this be much simpler by having the option to choose which updates to accept. i don’t use microsoft edge at all (wish i could uninstall it, but that’s another topic that is semi-related to this one) and i don’t want its updates. why do i have have to be a tech pro to defer…?
Does this still work? Or has it been disabled by microsoft? I can get it to list the windows updates, but it doesnt actually install them when I do Get-WUInstall.