SCCM Report to List down the not rebooted workstations

This is very useful report to list down the workstations haven’t rebooted for a specific time. SCCM custom report to find out machines which are rebooted wince long time.


SQL Query (Change the constants (TOP 10, GETDATE()) > 7) as per your requirement)

Patch My PC
SELECT TOP (100) PERCENT dbo.v_R_System.Name0, dbo.v_GS_OPERATING_SYSTEM.LastBootUpTime0, DATEDIFF(Day,<br><br><br>dbo.v_GS_OPERATING_SYSTEM.LastBootUpTime0, GETDATE()) AS [Days since last boot], dbo.v_GS_OPERATING_SYSTEM.Caption0<br><br><br>FROM dbo.v_GS_OPERATING_SYSTEM INNER JOIN<br><br><br>dbo.v_R_System ON dbo.v_GS_OPERATING_SYSTEM.ResourceID = dbo.v_R_System.ResourceID<br><br><br>WHERE (DATEDIFF(Day, dbo.v_GS_OPERATING_SYSTEM.LastBootUpTime0, GETDATE()) &gt; 7) AND (dbo.v_GS_OPERATING_SYSTEM.Caption0 LIKE '%xp%') OR<br><br><br>(dbo.v_GS_OPERATING_SYSTEM.Caption0 LIKE '%Windows 7%') OR<br><br><br>(dbo.v_GS_OPERATING_SYSTEM.Caption0 LIKE '%vista%')<br><br><br>ORDER BY [Days since last boot]


WQL collection based Query (Change the constants (GETDATE()) > 7) as per your requirement)

select distinct SMS_R_System.Name, SMS_G_System_OPERATING_SYSTEM.LastBootUpTime, SMS_G_System_OPERATING_SYSTEM.Caption from SMS_R_System inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId where (SMS_G_System_OPERATING_SYSTEM.Caption like “%xp%” or SMS_G_System_OPERATING_SYSTEM.Caption like “%vista%” or SMS_G_System_OPERATING_SYSTEM.Caption like “%windows 7%”) and (DateDiff(day, SMS_G_System_OPERATING_SYSTEM.LastBootUpTime, GetDate()) >7)

1E Nomad


Original Post

2 thoughts on “SCCM Report to List down the not rebooted workstations”

  1. SQL query does not work, syntax error, cannot create a report in SCCM

    WQL does not work, syntax error, cannot create a collection or query in SCCM.

    Job well done………..

  2. The issue is the formatting of the text on the webpage. If you do a find a replace of the ’ and replace them with ‘ then it works great.

    Here is it fixed.

    select distinct
    v_R_System_Valid.Netbios_Name0 AS [Computer Name],
    V_GS_OPERATING_SYSTEM.LastBootUpTime0 AS [Last Boot Time],
    v_R_System_Valid.Resource_Domain_OR_Workgr0 AS [Domain/Workgroup],
    v_Site.SiteCode as [SMS Site Code]
    from v_R_System_Valid
    inner join v_GS_OPERATING_SYSTEM on (v_GS_OPERATING_SYSTEM.ResourceID = v_R_System_Valid.ResourceID)
    inner join v_FullCollectionMembership on (v_FullCollectionMembership.ResourceID = v_R_System_Valid.ResourceID)
    left join v_Site on (v_FullCollectionMembership.SiteCode = v_Site.SiteCode)
    Where v_FullCollectionMembership.CollectionID = @CollectionID
    Order by v_R_System_Valid.Netbios_Name0


Leave a Comment

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