You are currently viewing How to check for updates installed on a PC

How to check for updates installed on a PC

There are different methods to check for installed updates. It is possible to check them directly from the computer or remotely from the command line. This article reviews all of these methods, which may be appropriate for a specific need.

1. Checking for updates from the control panel

The easiest way to check for installed updates is of course through the control panel. You will be able to access the history of all updates. To do this, click on Start, then Settings and click on the Update & Security button.

Then click View Update History.

This will give you access to all Windows updates, also drivers and unclassified updates, such as Edge.

2. Checking for installed updates via Powershell

Another method is to use Powershell. You can check for installed updates with the wmic qfe list command:

For a more compact rendering, you can also use the command line get-wmiobject -class win32_quickfixengineering.

This command can also be used to check for updates installed on a remote computer, using the following syntax: get-wmiobject -ComputerName ‘computer_name’ -class win32_quickfixengineering.

3. SCCM : Check for missing updates via SQL Server

It can be interesting to have the opposite approach, i.e. to check for missing updates on a specific computer. On SCCM there is a quick way to see this. Connect to your SQL database via SQL Management Studio. Find your database and right click on it, select New Query.

Copy and paste the query below replacing Computer_Name with the target machine:

SELECT
    CAST(DATEPART(yyyy,UI.DatePosted) AS varchar(255)) + '-' + RIGHT('0' + CAST(DATEPART(mm, UI.DatePosted) AS VARCHAR(255)), 2) AS 'Month Posted',
    UI.bulletinid [Bulletin ID],UI.articleid [Article ID], UI.Title,
    CASE
        WHEN CTM.ResourceID is not null THEN '*'
        ELSE ''
        END AS 'Targeted',
    CASE
        WHEN UCS.Status=2 THEN '*'
        ELSE ''
        END AS 'Is Required',
    UI.InfoURL AS 'Information',
    UI.dateposted AS 'Date Posted',
    Deadline=CDL.Deadline
    FROM V_UpdateComplianceStatus UCS
    JOIN v_UpdateInfo UI ON UI.CI_ID=UCS.CI_ID
    LEFT JOIN v_CITargetedMachines CTM ON CTM.CI_ID=UCS.CI_ID AND CTM.ResourceID = UCS.ResourceID
    INNER JOIN v_CICategories_All CCALL ON CCALL.CI_ID=UCS.CI_ID
    INNER  JOIN v_CategoryInfo CINF ON CCALL.CategoryInstance_UniqueID = CINF.CategoryInstance_UniqueID
    AND CINF.CategoryTypeName='UpdateClassification'
    JOIN dbo.v_R_System AS vrs ON vrs.ResourceID = UCS.ResourceID
       OUTER apply (
       SELECT Deadline=min(a.EnforcementDeadline)
       from v_CIAssignment  a
       JOIN v_CIAssignmentToCI atc ON atc.AssignmentID=a.AssignmentID AND atc.CI_ID=UCS.CI_ID
       ) CDL
   WHERE vrs.Name0='Computer_Name'
ORDER BY UI.DatePosted, UI.ArticleID

Conclusion

Apart from the classic Windows Update panel, there are many ways to check for installed updates. It is also possible to see which updates are not installed, which can be interesting, especially in the case of troubleshooting a remote computer. There may be several reasons why a PC cannot be updated.

Leave a Reply