Since I use VMware here I added this so I can see all desktops + servers + VMware hosts ( am sure you can do the same for the HyperV tables.
All Assets + BIOS
Select Top 1000000 tblAssets_1.AssetID,
tblAssets_1.AssetName,
tblAssets_1.Domain,
tblAssetCustom.Manufacturer,
tblAssetCustom.Model,
tblBIOS.SMBIOSBIOSVersion As CurrentBios,
Bios.biosMaxVersion as NewerBiosVersion,
Bios.biosMax as NewerBiosVersionReleaseDate,
Case When tblBIOS.SMBIOSBIOSVersion = Bios.biosMaxVersion Then 'black' Else 'red'
End As foregroundcolor,
tsysOS.Image As icon
From tblAssets As tblAssets_1
Inner Join tblBIOS On tblAssets_1.AssetID = tblBIOS.AssetID
Inner Join tblAssetCustom On tblAssets_1.AssetID = tblAssetCustom.AssetID
Inner Join (Select TOP 1 WITH TIES tblAssetCustom_1.Manufacturer,
tblAssetCustom_1.Model,
tblBIOS_1.SMBIOSBIOSVersion as biosMaxVersion,
Max(tblBIOS_1.ReleaseDate) As biosMax
From tblAssets
Inner Join tblAssetCustom As tblAssetCustom_1 On tblAssets.AssetID =
tblAssetCustom_1.AssetID
Inner Join tblBIOS As tblBIOS_1 On tblAssets.AssetID = tblBIOS_1.AssetID
Where tblAssetCustom_1.Manufacturer Not Like 'VMware%' And
tblAssetCustom_1.Manufacturer Not Like 'Amazon%' And
tblAssetCustom_1.Model Not Like 'VirtualBox' And
tblAssetCustom_1.Model Not Like 'VMware Virtual Platform' And
tblAssetCustom_1.Model Not Like 'Virtual Machine' And
tblAssetCustom_1.Model Not Like ''
Group By tblAssetCustom_1.Manufacturer,
tblAssetCustom_1.Model, tblBIOS_1.SMBIOSBIOSVersion, tblBIOS_1.ReleaseDate
Order By Row_Number() Over (Partition By tblAssetCustom_1.Model Order By
tblAssetCustom_1.Model, tblBIOS_1.ReleaseDate Desc)) As Bios On
tblAssetCustom.Model = Bios.Model And tblAssetCustom.Manufacturer =
Bios.Manufacturer
Inner Join tsysOS On tsysOS.OScode = tblAssets_1.OScode
Where tblAssetCustom.State = 1
union all
Select Top 1000000 tblVmwareInfo.AssetID,
tblVmwareInfo.HostName as AssetName,
'N/A' as Domain,
tblVmwareInfo.Vendor as Manufacturer,
tblVmwareInfo.Model,
tblVmwareInfo.BiosVersion As CurrentBios,
Bios.biosMaxVersion as NewerBiosVersion,
Bios.biosMax as NewerBiosVersionReleaseDate,
Case When tblVmwareInfo.BiosVersion = Bios.biosMaxVersion Then 'black' Else 'red'
End As foregroundcolor,
'vmware16.png' as icon
From tblVmwareInfo
Inner Join (Select TOP 1 WITH TIES tblVmwareInfo_2.Vendor as Manufacturer,
tblVmwareInfo_2.Model,
tblVmwareInfo_2.BiosVersion as biosMaxVersion,
Max(tblVmwareInfo_2.BiosDate) As biosMax
From tblVmwareInfo As tblVmwareInfo_1
Inner Join tblVmwareInfo As tblVmwareInfo_2 On tblVmwareInfo_1.AssetID =
tblVmwareInfo_2.AssetID
Group By tblVmwareInfo_2.Vendor,
tblVmwareInfo_2.Model, tblVmwareInfo_2.BiosVersion, tblVmwareInfo_2.BiosDate
Order By Row_Number() Over (Partition By tblVmwareInfo_2.Model Order By
tblVmwareInfo_2.Model, tblVmwareInfo_2.BiosDate Desc)) As Bios On
tblVmwareInfo.Model = Bios.Model And tblVmwareInfo.Vendor =
Bios.Manufacturer
Order By AssetName
Only out of Date Assets
Select Top 1000000 tblAssets_1.AssetID,
tblAssets_1.AssetName,
tblAssets_1.Domain,
tblAssetCustom.Manufacturer,
tblAssetCustom.Model,
tblBIOS.SMBIOSBIOSVersion As CurrentBios,
Bios.biosMaxVersion as NewerBiosVersion,
Bios.biosMax as NewerBiosVersionReleaseDate,
Case When tblBIOS.SMBIOSBIOSVersion = Bios.biosMaxVersion Then 'black' Else 'red'
End As foregroundcolor,
tsysOS.Image As icon
From tblAssets As tblAssets_1
Inner Join tblBIOS On tblAssets_1.AssetID = tblBIOS.AssetID
Inner Join tblAssetCustom On tblAssets_1.AssetID = tblAssetCustom.AssetID
Inner Join (Select TOP 1 WITH TIES tblAssetCustom_1.Manufacturer,
tblAssetCustom_1.Model,
tblBIOS_1.SMBIOSBIOSVersion as biosMaxVersion,
Max(tblBIOS_1.ReleaseDate) As biosMax
From tblAssets
Inner Join tblAssetCustom As tblAssetCustom_1 On tblAssets.AssetID =
tblAssetCustom_1.AssetID
Inner Join tblBIOS As tblBIOS_1 On tblAssets.AssetID = tblBIOS_1.AssetID
Where tblAssetCustom_1.Manufacturer Not Like 'VMware%' And
tblAssetCustom_1.Manufacturer Not Like 'Amazon%' And
tblAssetCustom_1.Model Not Like 'VirtualBox' And
tblAssetCustom_1.Model Not Like 'VMware Virtual Platform' And
tblAssetCustom_1.Model Not Like 'Virtual Machine' And
tblAssetCustom_1.Model Not Like ''
Group By tblAssetCustom_1.Manufacturer,
tblAssetCustom_1.Model, tblBIOS_1.SMBIOSBIOSVersion, tblBIOS_1.ReleaseDate
Order By Row_Number() Over (Partition By tblAssetCustom_1.Model Order By
tblAssetCustom_1.Model, tblBIOS_1.ReleaseDate Desc)) As Bios On
tblAssetCustom.Model = Bios.Model And tblAssetCustom.Manufacturer =
Bios.Manufacturer and
tblBIOS.SMBIOSBIOSVersion <> Bios.biosMaxVersion
Inner Join tsysOS On tsysOS.OScode = tblAssets_1.OScode
Where tblBIOS.SMBIOSBIOSVersion <> Bios.biosMaxVersion And tblAssetCustom.State = 1
union all
Select Top 1000000 tblVmwareInfo.AssetID,
tblVmwareInfo.HostName as AssetName,
'N/A' as Domain,
tblVmwareInfo.Vendor as Manufacturer,
tblVmwareInfo.Model,
tblVmwareInfo.BiosVersion As CurrentBios,
Bios.biosMaxVersion as NewerBiosVersion,
Bios.biosMax as NewerBiosVersionReleaseDate,
Case When tblVmwareInfo.BiosVersion = Bios.biosMaxVersion Then 'black' Else 'red'
End As foregroundcolor,
'vmware16.png' as icon
From tblVmwareInfo
Inner Join (Select TOP 1 WITH TIES tblVmwareInfo_2.Vendor as Manufacturer,
tblVmwareInfo_2.Model,
tblVmwareInfo_2.BiosVersion as biosMaxVersion,
Max(tblVmwareInfo_2.BiosDate) As biosMax
From tblVmwareInfo As tblVmwareInfo_1
Inner Join tblVmwareInfo As tblVmwareInfo_2 On tblVmwareInfo_1.AssetID =
tblVmwareInfo_2.AssetID
Group By tblVmwareInfo_2.Vendor,
tblVmwareInfo_2.Model, tblVmwareInfo_2.BiosVersion, tblVmwareInfo_2.BiosDate
Order By Row_Number() Over (Partition By tblVmwareInfo_2.Model Order By
tblVmwareInfo_2.Model, tblVmwareInfo_2.BiosDate Desc)) As Bios On
tblVmwareInfo.Model = Bios.Model And tblVmwareInfo.Vendor =
Bios.Manufacturer and
tblVmwareInfo.BiosVersion <> Bios.biosMaxVersion
Where tblVmwareInfo.BiosVersion <> Bios.biosMaxVersion
Order By AssetName