start-wuscan cmdlet is not avialble to run on few Windows 10

vasu M 6 Reputation points


We have few PCs where start-wuscan PowerShell cmdlet is not available to run. These PCs run 1909, 20H1, 20H2 builds. Wondering how is this cmdlet got broken or missing, and second how to restore it back ?

PS C:\WINDOWS\system32> start-wuscan
start-wuscan : The term 'start-wuscan' 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

  • start-wuscan
  • ~~~~~~~~~~~~
  • CategoryInfo : ObjectNotFound: (start-wuscan:String) [], CommandNotFoundException
  • FullyQualifiedErrorId : CommandNotFoundException


Windows Server PowerShell
Windows Server PowerShell
Windows Server: A family of Microsoft server operating systems that support enterprise-level management, data storage, applications, and communications.PowerShell: A family of Microsoft task automation and configuration management frameworks consisting of a command-line shell and associated scripting language.
4,733 questions
1 vote

4 answers

Sort by: Newest
  1. Ben Rosenqvist 16 Reputation points

    Please bring back the "WindowsUpdateProvider" module

    3 people found this answer helpful.
    No comments

  2. Ian Xue (Shanghai Wicresoft Co., Ltd.) 18,766 Reputation points Microsoft Vendor


    Check if the module WindowsUpdateProvider and the file C:\Windows\System32\WindowsPowerShell\v1.0\Modules\WindowsUpdateProvider\WindowsUpdateProvider.psd1 exist. If yes, please help to post the contents of the psd1 file.

    Best Regards,
    Ian Xue


    If the Answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

  3. abbodi86 2,541 Reputation points

    The module is removed in version 2004 (20H1), and thus 20H2 too

    you either have to rely on the manual commands to run the scan

    $Session = new-object -com "Microsoft.Update.Session"
    $ctr = "(IsInstalled=0 and DeploymentAction=*) or (IsInstalled=1 and DeploymentAction=*) or (IsHidden=1 and DeploymentAction=*)"
    $Result = $Session.CreateupdateSearcher().Search($ctr).Updates
    $Result | Select Title,Identity,IsHidden,LastDeploymentChangeTime,KBArticleIDs | Format-List -Property Title,@{l='UpdateID';e={$_.Identity.UpdateID}},@{l='PublishedDate';e={$_.LastDeploymentChangeTime.ToString('yyyy-MM-dd')}},@{l='KBArticle';e={$_.KBArticleIDs}},IsHidden

    or install external module PSWindowsUpdate

    Install-PackageProvider -Name NuGet -Force
    Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
    Install-Module -Name PSWindowsUpdate
    2 people found this answer helpful.
    No comments

  4. MotoX80 24,711 Reputation points

    Check your $env:PSModulePath and verify that it contains C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules

    Verify that this file exists: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\WindowsUpdateProvider\WindowsUpdateProvider.psd1

    (get-module -ListAvailable windowsupdateprov*).path
    (get-module -ListAvailable windowsupdateprov*).ExportedCommands

    PS C:\WINDOWS\system32> (get-module -ListAvailable windowsupdateprov*).path
    PS C:\WINDOWS\system32> (get-module -ListAvailable windowsupdateprov*).ExportedCommands

    Key Value

    Get-WUAVersion Get-WUAVersion
    Get-WULastInstallationDate Get-WULastInstallationDate
    Get-WULastScanSuccessDate Get-WULastScanSuccessDate
    Get-WUIsPendingReboot Get-WUIsPendingReboot
    Install-WUUpdates Install-WUUpdates
    Start-WUScan Start-WUScan