Get the Windows Update policy on local or remote computers via the registry.

A Windows system can be configured to communicate with a managed update environment such as WSUS, SCCM, or Intune. Get-WindowsUpdatePolicy will query the registry keys that store the current Windows Update policy for a system. The function will also display if no policy is configured.



   Get the Windows Update policy on local or remote computers via the registry. 
   Get the Windows Update policy on local or remote computers via the registry. 
   A Windows system can be configured to communicate with a managed update  
   environment such as WSUS, SCCM, or Intune. Get-WindowsUpdatePolicy will  
   query the registry keys that store the current Windows Update policy for a 
   system. The function will also display if no policy is configured. 
    Created by: Jason Wasser @wasserja 
    Modified: 2/7/2017 01:40:26 PM   
.PARAMETER ComputerName 
    Enter one or more computer names. 
    The Windows Update policy registry key path is already specified. 
.PARAMETER Credential 
    Enter alternate creadentials for accessing remote computers. 
   Shows the current Windows Update policy of the local computer if it is configured. 
   Get-WindowsUpdatePolicy -ComputerName SERVER01,CLIENT02 
   Shows the current Windows Update policy of server01 and client02 if it is configured. 
function Get-WindowsUpdatePolicy 
        # Windows Update policy registry key path 
        $Credential = [System.Management.Automation.PSCredential]::Empty 
        # Helper function to get the registry keys and values 
        function Get-RegistryKey ($Key$Computer) { 
            Write-Verbose "$Computer" 
            if (Test-Path $Key) { 
                # Get the WindowsUpdate policy information 
                Get-ItemProperty $Key 
                # Get the WindowsUpdate AU sub key values 
                if (Test-Path $Key\AU) { 
                    Get-ItemProperty $Key\AU 
            else { 
                Write-Host "No Windows Update policy set for $Computer." 
        foreach ($Computer in $ComputerName) { 
            if ($Computer -eq $env:COMPUTERNAME) { 
                Write-Verbose "Getting Windows Update policy registry settings from $Computer." 
                Get-RegistryKey -Key $Key 
            else { 
                Write-Verbose "Getting remote Windows Update policy registry settings from $Computer." 
                Invoke-Command -ScriptBlock ${function:Get-RegistryKey} -ComputerName $Computer -ArgumentList $Key,$Computer -Credential $Credential