Custom Inventory can be used to detect results from the Windows Boot Loader to determine if it is using either Legacy boot mode or UEFI. This article provides the steps to create a custom report that displays this Custom Inventory data.
NOTE: Symantec Support does not support custom scripting or reporting so modifications to the script and report must be made by the user, so this article is "As Is".
ITMS 8.x
Inventory Solution 8.x
Create a new custom Data Class that will store the Bios Mode for each endpoint:
Figure 1. Configuration for the Custom Data Class and its Attributes.
Figure 1.1 Retrieve GUID of the Customer Data Class
#************************DO NOT EDIT********************************
$nse = new-object -comobject Altiris.AeXNSEvent
$nse.priority = 1
$nse.To = "{1592B913-72F3-4C36-91D2-D4EDA21D2F96}"
#************************DO NOT EDIT********************************
#Modify this varaible with the custom data class guide
$objDCInstance = $nse.AddDataClass("{COPY the GUID in Step 1.h here}")
# Gather Boot Mode Information
$objDataClass = $nse.AddDataBlock($objDCInstance)
$mode = bcdedit | findstr '\Windows\system32'
#path \Windows\system32\winload.exe
$mode = $mode.replace("path \Windows\system32\","")
$time = Get-Date -Format g
#Add new row of data
$objDataRow = $objDataClass.AddRow()
$objDataRow.SetField(0, $mode)
$objDataRow.SetField(1, $time)
#************************DO NOT EDIT********************************
#Send the data
$nse.sendqueued()
#************************DO NOT EDIT********************************
SELECT vc.Name,
bm.time,
CASE WHEN mode = 'winload.exe' THEN 'LEGACY' ELSE 'UEFI' END [MODE]
FROM Inv_BIOS_Mode bm
join vcomputer vc ON vc.Guid = bm._ResourceGuid
ORDER BY MODE
Figure 3. Note that Time is the Agent Time when inventory data was collected
NOTE: Symantec Support does not support custom scripting or reporting so modifications to the script and report must be made by the user, so this article is "As Is".