Windows version are not supported forever. Running an unsupported version of Windows can be a significant security risk for your organization since those computers will no longer get critical security patches. Additionally, you won’t be able to rely on Microsoft for any issues regarding the operating system either. Once Windows 7 reaches end of life on 14 January 2020, it is important that you have finished moving all your computers to Windows 10 or another supported operating systems version. So don’t forget to run the audit and make sure to be getting your computers windows 10 ready.
To check whether your current machines are ready for a Windows 10 upgrade, the audit below checks your computers for the Windows 10 minimum requirements and indicates whether an in-place upgrade is possible. With the help of the audit you can more effectively start planning how you will complete your Windows 10 migration.
Windows 10 Readiness Query
Select Distinct Top 1000000 tblAssets.AssetID,
tblAssets.AssetName,
tblAssets.Domain,
tblAssets.Username,
Coalesce(tsysOS.Image, tsysAssetTypes.AssetTypeIcon10) As icon,
tblAssets.IPAddress,
CPU.[CPU speed],
RAM.RAM,
Case
When tblAssets.AssetID = freespace.AssetID Then 'OK'
Else 'Not OK'
End As [Disk space],
tsysOS.OSname As OS,
tblAssets.SP,
tblComputersystem.SystemType As Architecture,
Case
When tsysOS.OSname = 'Win 7' And tblAssets.SP = 1 And RAM.RAM = 'OK' And
CPU.[CPU speed] = 'OK' And tblAssets.AssetID = freespace.AssetID
Then 'Yes'
When tsysOS.OSname Like '%8.1%' And RAM.RAM = 'OK' And CPU.[CPU speed] =
'OK' And tblAssets.AssetID = freespace.AssetID Then 'Yes'
Else 'No'
End As [In-place upgrade ready],
tblAssetCustom.Manufacturer,
tblAssetCustom.Model,
tsysIPLocations.IPLocation,
tblAssets.Lastseen,
tblAssets.Lasttried
From tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Inner Join tsysIPLocations On tsysIPLocations.LocationID =
tblAssets.LocationID
Inner Join tblState On tblState.State = tblAssetCustom.State
Left Join tsysOS On tsysOS.OScode = tblAssets.OScode
Left Join (Select Top 1000000 tblAssets.AssetID,
Case
When tblProcessor.MaxClockSpeed > 1000 Then 'OK'
Else 'Not OK'
End As [CPU speed]
From tblAssets
Inner Join tblProcessor On tblAssets.AssetID = tblProcessor.AssetID) As
CPU On CPU.AssetID = tblAssets.AssetID
Left Join (Select Top 1000000 tblAssets.AssetID,
tblAssets.AssetName,
tblComputersystem.SystemType,
Sum(Cast(Cast(tblPhysicalMemory.Capacity As bigint) / 1024 /
1024 As numeric)) As Memory,
Case
When tblComputersystem.SystemType Like '%64%' And
Sum(Cast(Cast(tblPhysicalMemory.Capacity As bigint) / 1024 /
1024 As numeric)) >= 2048 Then 'OK'
When tblComputersystem.SystemType Like '%86%' And
Sum(Cast(Cast(tblPhysicalMemory.Capacity As bigint) / 1024 /
1024 As numeric)) >= 1024 Then 'OK'
Else 'Not OK'
End As RAM
From tblAssets
Inner Join tblComputersystem On
tblAssets.AssetID = tblComputersystem.AssetID
Inner Join tblPhysicalMemory On
tblAssets.AssetID = tblPhysicalMemory.AssetID
Group By tblAssets.AssetID,
tblAssets.AssetName,
tblComputersystem.SystemType,
tblAssets.Memory) As RAM On RAM.AssetID = tblAssets.AssetID
Left Join (Select Top 1000000 tblAssets.AssetID,
tblAssets.AssetName,
Cast(Cast(tblDiskdrives.Freespace As bigint) / 1024 / 1024 As numeric)
As free,
tblComputersystem.SystemType
From tblAssets
Inner Join tblDiskdrives On tblAssets.AssetID = tblDiskdrives.AssetID
Inner Join tblComputersystem On
tblAssets.AssetID = tblComputersystem.AssetID
Where (Cast(Cast(tblDiskdrives.Freespace As bigint) / 1024 /
1024 As numeric) > 32000 And tblComputersystem.SystemType Like '%64%')
Or
(Cast(Cast(tblDiskdrives.Freespace As bigint) / 1024 / 1024 As
numeric) > 16000 And tblComputersystem.SystemType Like '%86%')) As
freespace On freespace.AssetID = tblAssets.AssetID
Inner Join tblComputersystem On tblAssets.AssetID = tblComputersystem.AssetID
Where tsysOS.OSname <> 'Win 10' And tblState.Statename = 'Active' And
tblComputersystem.Domainrole < 2
Order By tblAssets.Domain,
tblAssets.AssetName