You are on page 1of 19

IAMT SCAN PROCESS V0.3.1.

1 USE
GUIDE

The identification and activation of vPro systems that are not remote configuration capable
and that have not completed the provisioning/activation process prior to being placed in the
field can be a daunting task in a large enterprise environment. Especially in the common
situation where vPro systems have been deployed before backend infrastructure is in place.
To help address these challenges, and other activation issues, a script/tool package is
available to assist in automating the identification of such systems, as well as facilitating
automated data collection process enterprise wide, known as iAMT Scan.
Challenges associated with activating these now dormant vPro devices.
1. The hello packet process must be restarted if more than 24 hours has passed and
the system is still un-provisioned since the system was plugged into power. There
several different ways to accomplish this.
a. Powering off the system and pulling the power cord (and the battery in the
case of a laptop) and then plugging the system back in.
b. Package and deploy the Activator Utility (formerly known as the Remote
Configuration Tool (RCT)) on the local system. To restart the hello packets, the
syntax is:
c:\activator /s http:<provisioning service location> /h | /d <8 character PID>
Once the hello packet process is restarted, the system should contact the provision
server, be identified by its fully qualified domain name (FQDN), receive its
provisioning profile and complete the provisioning/activation process.
2. Intel HECI, LMS and UNS Drivers must be updated to current versions supported by
your OEM, in order to successfully use Activator within the Windows environment.
3. It is also recommended to update the Intel AMT firmware or system BIOS to the
most current version depending on the specific hardware platform (i.e. AMT 2.x, 2.5,
or 3.x.)

/ / / EDS TECHNICAL DOCUMENT

Here is the high level overview of how iAMT Scan can help address these challenges,
troubleshoot other activation issues, and assist in automating the identification of such
systems, as well as facilitating automated data collection process enterprise wide.

Process Overview:
iAMT Scan was created with the following criteria in mind:

1. By leveraging Intels MEINFOWIN.exe and by wrapping it into a new executable that


captures its output and writes this data back into the windows registry, iAMT Scan can
provide a custom set of inventory data that is now available for capture remotely by any
given Management Console, script, or other processes.
2. Using the software delivery capabilities built into SMS, Altiris, or others, you can now
deliver this new tool package remotely and silently to the PC environment providing
critical planning data back to the central console.
3. Based on the data, Activator can now be deployed with maximum effect by targeting
specific groups of machines that might require driver, bios, or other Activator
prerequisites.
The iAMT Scan executable is designed to:
Be a standalone program

Execute silently with no impact to the device

Collect specific information about the local machine as a background process

Store this data in the Windows registry for collection via custom inventory process of
the Management Console.

Using this approach, Support Staff can create a distribution that will deploy the iAMT Scan
executable to the target machines, and subsequently inventory this collection thus
capturing data back into the central management console. Armed with this newly available
data, reports can now be generated to assist in planning your remote configuration strategy
with limited desk side visits, by identifying systems that are in need of updates before
Activator is deployed. Update packages can then be deployed to the systems that have
been identified, ensuring a successful Activator deployment. In some sense the process
helps to give another window into your vPro activation process from the Enterprise
Perspective.

/ / / EDS TECHNICAL DOCUMENT

Using the data:


All of the data that iAMT Scan generates is stored in the local system registry:
HKEY_LOCAL_MACHINE\SYSTEM\INTEL\iAMT SCAN DATA
Consisting of the Following String Value Entries:
AMTSetupStatus - Provisioning State of the Management Engine
AMTVersion AMT Version
AssetTag Information from the BIOS (Burned in by OEM)
BIOSVersion - System Bios Version
ChassisType Indicates Notebook, Laptop, Dektop, etc.
DHCPServer - IP Address of the DHCP Server that lease was obtained from
DNSServerOrder - DNS Search Order
FQDN Fully Qualified name of the host based on NT/AD Domain
DNS_FQDN Fully Qualified DNS Name for the Host Adapter
Gateway Gateway (router) IP Address
HECIVersion - HECI Driver Version
MAC AMT Capable HOST MAC Address
IPAddress - Current IP Address of Host at time of scan
LMSVersion - LMS Driver Version
Make - Manufacturer
Model Manufacturers Model
SerialNumber - Machines Serial Number
SMSSiteCode - SMS Site the local machine is assigned to (if available)
SMSManagementServer - SMS management server managed by (if available)
SubnetMask Current IP Subnet Mask
SystemName Host machine name
UNSVersion - UNS Driver Version
UUID The Systems UUID
ProvisionServerPing Ping status for provisionserver DNS entry
As you can see, there is a substantial amount of data generated that can be useful in
planning and troubleshooting your vPro activation. Here we will discuss how to interpret the
data by first examining what the tool does once executed.
When executed for the first time, the iamtscan_v0.3.1.1.exe process creates two files in the
local TEMP directory, iamtscan_v0.3.1.1.vbs and Intels MEInfoWIN.exe.
iamtscan_v0.3.1.1.vbs is a Control Script written in Visual Basic that controls the overall
process of collecting the local data and populating the registry. The first action this control
script performs is to define the data it is looking for, and launch MEInfoWIN.exe.
MEInfoWIN.exe is a tool provided in the Intel Deployment Toolkit, which communicates with
the Intel AMT Management Engine contained in the system hardware. MEinfoWIN.exe will
attempt to query this Management Engine using the HECI driver to collect BIOS Version,
AMT Version, Driver Versions, and the current state of Provisioning. The control script then
captures this data, and continues to query the local system for additional details such as
UUID, FQDN, IP Address, DHCP Server, SMS Site, etc, and pings provisionserver to see if it
resolves. After performing the queries it then populates the registry with everything it has
found and the temporary files are then removed.

/ / / EDS TECHNICAL DOCUMENT

MEInfoWIN.exe does require the Intel HECI driver for Windows to be in place in order to
return full detail, but iAMT Scan will continue to return a subset of the information despite
the missing driver, and again this is useful in determining whether or not the PC is capable
of activation using the Activator Utility to restart the provisioning process. The remaining
fields will be present, but contain no value. Below represents what data is returned based
on dependency:

HECI Driver Installed

No HECI Driver

AMTSetupStatus - Provisioning State of the


Management Engine

BIOSVersion - System Bios Version (From WMI)

AMTVersion AMT Version

Date Date the scan was performed

AssetTag BIOS - Burned Asset Tag

FQDN Fully Qualified name of the host based on


NT/AD Domain

BIOSVersion - System Bios Version (From ME)

Make - Manufacturer

ChassisType Notebook, Laptop, Desktop, etc

Model Manufacturers Model

DHCPServer - IP Address of the DHCP Server that


lease was obtained from

SerialNumber - Machines Serial Number

DNSServerOrder - DNS Search Order

SMSSiteCode - SMS Site the local machine is managed


by (if available)

DNS_FQDN Fully Qualified DNS name of the host


adapter

SystemName Host machine name

Gateway Gateway (router) IP Address

UUID The Systems UUID

HECIVersion - HECI Driver Version

ProvisionServerPing - Ping status for provisionserver

MAC AMT Capable HOST MAC Address


IPAddress - Current IP Address of Host at time of
scan
LMSVersion - LMS Driver Version
Make - Manufacturer
Model Manufacturers Model
SerialNumber - Machines Serial Number
SMSSiteCode - SMS site the system is assigned to
(if available)

/ / / EDS TECHNICAL DOCUMENT

SMSManagementServer SMS Server the system


is managed by
SubnetMask Current IP Subnet Mask
SystemName Host machine name
UNSVersion - UNS Driver Version
UUID The Systems UUID
ProvisionServerPing Ping status for
provisionserver
FQDN Fully Qualified name of the host based on
NT/AD Domain

/ / / EDS TECHNICAL DOCUMENT

Deployment:
The iAMT Scan executable is package ready and requires no additional parameters to
perform; simply leverage your existing software distribution, hardware inventory, and
reporting processes to achieve results. A typical deployment consists of the preparing your
management console to receive the custom inventory data, distributing and executing the
utility, and then scheduling an inventory scan of the targeted machines that will collect this
data from the systems registry. Once this data has been populated into the management
console, you can now use the Consoles reporting features to generate reports based on this
custom inventory. An example would be to report all Dell 755s that have no HECI driver in
place or all HP dc7800s at a particular AMT version and then plan a distribution to install the
prerequisite drivers and firmware. Please refer to your ISV documentation on how to
distribute software, inventory custom registry data, and build custom reports. Below is a
suggested process flow diagram:

Prepare the Management Console

Package, Advertise, Distribute

Inventory Environment

Report

Requirements
Met

YES

Deploy Activator

/ / / EDS TECHNICAL DOCUMENT

NO

Remediate

Use case example


A U.S. based company MyCompany, Inc has several offices located all across the United
States, with a total of some 10,000 PCs. All of the PCs are centrally managed using
Microsoft SMS, but patching and SMS agent issues are a constant challenge. MyCompany,
Inc. has been purchasing vPro capable PCs for some time, and is now ready to activate
these features as part of the IT Departments continuous improvement initiatives. The IT
staff has installed all of the vPro infrastructure components such as the SMS Addin, the
ProvisionServer DNS entry, etc. In working with their OEM, all new PCs coming in are
entered into the SMS vPro environment as they are deployed, and activation is working
properly, however there are some 3000 older PCs out there, dispersed throughout the
company, that must be activated for the company to realize the full benefits of vPro
Technologies. It is decided that the Activator utility will be used to re-start the provisioning
process on these remote machines to save cost and effort, but it is not certain that the
machines that are out there can support the tool. The IT Department has determined they
can greatly reduce interruption to the end users, and minimize desk side visits by using the
iAMT Scan process to collect details around these remote machines through automation.
Since the data is stored in the system registry when amtscan_v0.3.1.1.exe runs, the SMS
environment needs to be configured to collect the values as part of the normal hardware
inventory process. The sms_def.mof file is updated, and recompiled to include this custom
data during normal inventory cycles. Now that the environment is ready to receive the data,
the executable can be packed and advertised to a collection of PCs that was created based
on the PC model, knowing that these machines include vPro technologies.
The advertisement is distributed across the SMS infrastructure and Distribution Points
updated to deploy the package as soon as possible being that it is a non-impacting and
silent install. Without any further changes, the data is now collected during the inventory
process, which has been scheduled to run sooner than normal in order to begin planning and
remediation that might be needed before deploying the Activator Utility.
A report has been placed in the dashboard that simply lists all of the machines and the data
returned. Right away it is noticed that that most of the machines in the field do not have the
HECI driver installed, while others need AMT updated. Using the packages available from
the OEM two more advertisements are created targeting specific groups of machines. The
updates require reboots, so the deployments are scheduled during off hours, to again
minimize any disruption to the business.
The updates have been deployed, and iAMT scan is deployed once more, but this time all
that is required is to set the advertisement because the report, package, etc are already in
place from previous use. The inventory is collected, and the reports reviewed showing that
all PCs now meet the prerequisites for Activator.
Finally, Activator is packaged and advertised restarting the provisioning process on the once
dormant vPro PCs, and all of them are now reporting to the SMS infrastructure Out-Of-Band
management console.

/ / / EDS TECHNICAL DOCUMENT

Appendix:
A. Useful links and Documents:

SCCM
o

Software Distribution using SCCM - http://technet.microsoft.com/enus/library/bb632640.aspx

How to extend Hardware Inventory - http://technet.microsoft.com/enus/library/bb680609.aspx

SMS
o

Software Distribution using SMS 2003 http://technet.microsoft.com/enus/library/cc180732.aspx

Extending Hardware Inventory in SMS 2003 - http://technet.microsoft.com/enus/library/cc181179.aspx

LANDesk
o

Software Distribution - http://community.landesk.com/support/docs/DOC-2125

Custom Inventory - http://community.landesk.com/support/docs/DOC-1089

Altiris
o

Software Distribution - http://www.altiris.com/upload/swdelivery_004.pdf

Custom Inventory - http://www.altiris.com/upload/inventoryref_003.pdf

Custom Inventory Tool - http://juice.altiris.com/download/2384/altiris-custinvbuilder

Intel Activator Utility


o

Activator Download http://softwarecommunity.intel.com/articles/eng/3804.htm

Activator Users Guide http://softwarecommunity.intel.com/isn/downloads/manageability/Intel_vPro_Te


chnology_Activator_Utility_User_Guide.pdf

Activator Article - http://softwarecommunity.intel.com/articles/eng/3751.htm

/ / / EDS TECHNICAL DOCUMENT

/ / / EDS TECHNICAL DOCUMENT

B. Executing and Reviewing Locally

Run iamtscan_v.0.3.1.1.exe with Administrator Privileges.

Launch regedit and browse to HKEY_LOCAL_MACHINE\SYSTEM\INTEL\iAMT SCAN


DATA

Example Display:

/ / / EDS TECHNICAL DOCUMENT

C. Quick Tips for collecting iAMT Scan Registry Values

LANDesk:
The inventory scanner is capable of scanning for any registry key. The
following procedure should be used to configure the inventory scanner to scan
for additional registry keys. (see link above)
1. On the core server, modify the c:\Program
Files\LANDesk\ManagementSuite\ldlogon\ldappl3.template with a text editor,
such as Notepad.
2. Find the section called Registry Info.
3. Add a new line using this syntax:
KEY='VALUE PATH', 'VALUE', 'INVENTORY BRANCH'
where 'VALUE PATH' is the path where the registry value is located (i.e.
HKLM\Software); 'VALUE' is the name of the value that you would like LANDesk
to scan (i.e. MyValue); 'INVENTORY BRANCH' is the branch in the LANDesk
inventory tree where this new value needs to be saved (i.e. Custom Data).
4. Save the LDAPPL3.TEMPLATE file and close the text editor.
5. Open the LANDesk Management Suite console.
6. Go to Tools | Reporting/Monitoring | Software License Monitoring.
7. Click the 'Make Available to Clients' button. Clicking this button will add the
changes made to the LDAPPL3.TEMPLATE file to the LDAPPL3.INI file.
8. Clients will begin sending the registry information along with their next
inventory scan. Please note that this process assumes that the agent is
configured to download the LDAPPL3.INI automatically. If the agent is
configured for manual update, the new LDAPPL3.INI will need to be copied
down to the clients.
Please note the registry value being scanned must have a value. For example,
a zero-length binary value with no value will not scan.

/ / / EDS TECHNICAL DOCUMENT

LANDesk (Cont.)

Configuring the LDAPP TEMPLATE


Using the process above, copy the following lines to the Registry Info section
of the LDAPPL3.TEMPLATE file.
;iAMT Scan Data Registry Entries
KEY=HKLM,SYSTEM\INTEL\iAMT
KEY=HKLM,SYSTEM\INTEL\iAMT
AMT Setup Status
KEY=HKLM,SYSTEM\INTEL\iAMT
Version
KEY=HKLM,SYSTEM\INTEL\iAMT
Version
KEY=HKLM,SYSTEM\INTEL\iAMT
KEY=HKLM,SYSTEM\INTEL\iAMT
Server
KEY=HKLM,SYSTEM\INTEL\iAMT
Server Order
KEY=HKLM,SYSTEM\INTEL\iAMT
KEY=HKLM,SYSTEM\INTEL\iAMT
FQDN
KEY=HKLM,SYSTEM\INTEL\iAMT
KEY=HKLM,SYSTEM\INTEL\iAMT
Version
KEY=HKLM,SYSTEM\INTEL\iAMT
KEY=HKLM,SYSTEM\INTEL\iAMT
KEY=HKLM,SYSTEM\INTEL\iAMT
Version
KEY=HKLM,SYSTEM\INTEL\iAMT
KEY=HKLM,SYSTEM\INTEL\iAMT
KEY=HKLM,SYSTEM\INTEL\iAMT
Ping Provision Server
KEY=HKLM,SYSTEM\INTEL\iAMT
Number
KEY=HKLM,SYSTEM\INTEL\iAMT
Mask
KEY=HKLM,SYSTEM\INTEL\iAMT
Name
KEY=HKLM,SYSTEM\INTEL\iAMT
Version
KEY=HKLM,SYSTEM\INTEL\iAMT
SMS/SCCM Site Code
KEY=HKLM,SYSTEM\INTEL\iAMT

/ / / EDS TECHNICAL DOCUMENT

SCAN DATA,AMTMac,Custom Data - IAMT Scan Data - AMT MAC


SCAN DATA, AMTSetupStatus,Custom Data - IAMT Scan Data SCAN DATA, AMTVersion,Custom Data - IAMT Scan Data - AMT
SCAN DATA,BIOSVersion,Custom Data - IAMT Scan Data BIOS
SCAN DATA,Date,Custom Data - IAMT Scan Data - Date
SCAN DATA,DHCPServer,Custom Data - IAMT Scan Data DHCP
SCAN DATA,DNSServerOrder,Custom Data - IAMT Scan Data DNS
SCAN DATA,FQDN,Custom Data - IAMT Scan Data - FQDN
SCAN DATA,DNS_FQDN,Custom Data - IAMT Scan Data DNS
SCAN DATA,Gateway,Custom Data - IAMT Scan Data - Gateway
SCAN DATA,HECIVersion,Custom Data - IAMT Scan Data - HECI
SCAN DATA,MAC,Custom Data - IAMT Scan Data - MAC
SCAN DATA,IPAddress,Custom Data - IAMT Scan Data - IP Address
SCAN DATA,LMSVersion,Custom Data - IAMT Scan Data - LMS
SCAN DATA,Make,Custom Data - IAMT Scan Data - Make
SCAN DATA,Model,Custom Data - IAMT Scan Data - Model
SCAN DATA,ProvisionServerPing,Custom Data - IAMT Scan Data
SCAN DATA,SerialNumber,Custom Data - IAMT Scan Data - Serial
SCAN DATA,SubnetMask,Custom Data - IAMT Scan Data - Subnet
SCAN DATA,SystemName,Custom Data - IAMT Scan Data - System
SCAN DATA,UNSVersion,Custom Data - IAMT Scan Data - UNS
SCAN DATA,SMSSiteCode,Custom Data - IAMT Scan Data
SCAN DATA,UUID,Custom Data - IAMT Scan Data UUID

SMS 2003
You can extend hardware inventory by editing the sms_def.mof file using a
text editor. On the primary site server computer, navigate to:
<installation directory>\inboxes\clifiles.src\hinv\sms_def.mof
and copy the following data into the end of the file using notepad. Save and
compile the edited file. The file must be compiled by using the Mofcomp.exe
command on each SMS Client, as in this example: Mofcomp.exe
<path>\SMS_def.mof
//==========================================================
========
// Create namespaces for iAMT Scan Data used by the Inventory Agent
//==========================================================
========
#pragma namespace("\\\\.\\root\\CIMV2")
#pragma deleteclass("Intel_iAMT_SCAN_DATA", NOFAIL)
[DYNPROPS]
class Intel_iAMT_SCAN_DATA
{
[key]
string
KeyName="";
string
AMTMac;
string
AMTSetupStatus;
string
AMTVersion;
string
AssetTag;
string
BIOSVersion;
string
ChassisType;
string
DHCPServer;
string
DNSServerOrder;
string
FQDN;
string
DNS_FQDN;
string
Gateway;
string
HECIVersion;
string
MAC;
string
IPAddress;
string
LMSVersion;
string
Make;
string
Model;
string
ProvisionServerPing;
string
SerialNumber;
string
SubnetMask;
string
SystemName;
string
UNSVersion;
string
SMSSiteCode;
string
SMSManagementServer
string
UUID;
};

/ / / EDS TECHNICAL DOCUMENT

[DYNPROPS]
instance of Intel_iAMT_SCAN_DATA
{
KeyName="Intel iAMT SCAN DATA";
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
AMTMac"),Dynamic, Provider("RegPropProv")] AMTMac;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
AMTSetupStatus"),Dynamic, Provider("RegPropProv")] AMTSetupStatus;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
AMTVersion"),Dynamic, Provider("RegPropProv")] AMTVersion;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
AssetTag"),Dynamic, Provider("RegPropProv")] AssetTag;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
BIOSVersion"),Dynamic, Provider("RegPropProv")] BIOSVersion;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
ChassisType"),Dynamic, Provider("RegPropProv")] ChassisType;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
DHCPServer"),Dynamic, Provider("RegPropProv")] DHCPServer;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
DNSServerOrder"),Dynamic, Provider("RegPropProv")] DNSServerOrder;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
FQDN"),Dynamic, Provider("RegPropProv")] FQDN;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
DNS_FQDN"),Dynamic, Provider("RegPropProv")] DNS_FQDN;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
Gateway"),Dynamic, Provider("RegPropProv")] Gateway;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
HECIVersion"),Dynamic, Provider("RegPropProv")] HECIVersion;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
Mac"),Dynamic, Provider("RegPropProv")] MAC;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
IPAddress"),Dynamic, Provider("RegPropProv")] IPAddress;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
LMSVersion"),Dynamic, Provider("RegPropProv")] LMSVersion;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
Make"),Dynamic, Provider("RegPropProv")] Make;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
Model"),Dynamic, Provider("RegPropProv")] Model;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
ProvisionServerPing"),Dynamic, Provider("RegPropProv")] ProvisionServerPing;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
SerialNumber"),Dynamic, Provider("RegPropProv")] SerialNumber;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
SubnetMask"),Dynamic, Provider("RegPropProv")] SubnetMask;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
SystemName"),Dynamic, Provider("RegPropProv")] SystemName;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
UNSVersion"),Dynamic, Provider("RegPropProv")] UNSVersion;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
SMSSiteCode"),Dynamic, Provider("RegPropProv")] SMSSiteCode;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
SMSManagementServer"),Dynamic, Provider("RegPropProv")] SMSManagementServer;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN DATA|
UUID"),Dynamic, Provider("RegPropProv")] UUID;
};

/ / / EDS TECHNICAL DOCUMENT

//==========================================================
========
// Custom iAMT Data Reporting Definition used by the Inventory Agent
//==========================================================
========
#pragma namespace("\\\\.\\root\\CIMV2\\SMS")
#pragma deleteclass("Intel_iAMT_SCAN_DATA", NOFAIL)
[SMS_Report(TRUE),
SMS_Group_Name("Intel iAMT Scan Data"),
SMS_Class_ID("Intel_iAMT_SCAN_DATA")]
class Intel_iAMT_SCAN_DATA : SMS_Class_Template
{
[SMS_Report(True)] string AMTMac;
[SMS_Report(TRUE)] string AMTSetupStatus;
[SMS_Report(TRUE)] string AMTVersion;
[SMS_Report(TRUE)] string BIOSVersion;
[SMS_Report(TRUE)]string Date;
[SMS_Report(TRUE)] string DHCPServer;
[SMS_Report(TRUE)] string DNSServerOrder;
[SMS_Report(TRUE)] string FQDN;
[SMS_Report(True)] string DNS_FQDN;
[SMS_Report(TRUE)] string Gateway;
[SMS_Report(TRUE)] string HECIVersion;
[SMS_Report(TRUE)] string MAC;
[SMS_Report(TRUE)] string IPAddress;
[SMS_Report(TRUE)] string LMSVersion;
[SMS_Report(TRUE)] string Make;
[SMS_Report(TRUE)] string Model;
[SMS_Report(TRUE)] string ProvisionServerPing;
[SMS_Report(TRUE)] string SerialNumber;
[SMS_Report(TRUE)] string SubnetMask;
[SMS_Report(TRUE)] string SystemName;
[SMS_Report(TRUE)] string UNSVersion;
[SMS_Report(TRUE)] string SMSSiteCode;
[SMS_Report(TRUE)] string UUID;
};

/ / / EDS TECHNICAL DOCUMENT

SCCM
Extending hardware inventory within the SCCM environment is very similar to the
approach used in SMS 2003, except that there are two separate files to work with,
configuration.mof and sms_def.mof. Configuration.mof is used to define the
namespaces and instances of a particular class, in our case Intel iAMT SCAN
DATA , while sms_def.mof is used to define the reporting class, and objects. One
advantage to extending inventory data with SCCM is there is no need to compile
the MOF files on each client. SCCM will monitor the configuration.mof, and
sms_def.mof files and take appropriate action on its own.

On the primary site server computer, navigate to the following location and open
the file using notepad:
<installation
directory>\inboxes\clifiles.src\hinv\configuration.mof
You will notice a section at the end of the file dedicated to inventory extension:
//========================
// Added extensions start
//========================
//========================
// Added extensions end

//========================
Insert the following in between this section and save the file:
//============================================================
======
// Create namespaces for iAMT Scan Data used by the Inventory Agent
//============================================================
======
#pragma namespace("\\\\.\\root\\CIMV2")
#pragma deleteclass("Intel_iAMT_SCAN_DATA", NOFAIL)
[DYNPROPS]
class Intel_iAMT_SCAN_DATA
{
[key]
string
KeyName="";
string
AMTMac;
string
AMTSetupStatus;
string
AMTVersion;
string
AssetTag;
string
BIOSVersion;
string
ChassisType;
string
Date;
string
DHCPServer;
string
DNSServerOrder;
string
FQDN;
string
DNS_FQDN;

/ / / EDS TECHNICAL DOCUMENT

string
Gateway;
string
HECIVersion;
string
MAC;
string
IPAddress;
string
LMSVersion;
string
Make;
string
Model;
string
ProvisionServerPing;
string
SerialNumber;
string
SubnetMask;
string
SystemName;
string
UNSVersion;
string
SMSSiteCode;
string SMSManagementServer;
string
UUID;
};
[DYNPROPS]
instance of Intel_iAMT_SCAN_DATA
{
KeyName="Intel iAMT Scan Data";
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] AMTMac;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
AMTSetupStatus"),
Dynamic, Provider("RegPropProv")] AMTSetupStatus;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] AMTVersion;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] AssetTag;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] BIOSVersion;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] ChassisType;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] Date;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] DHCPServer;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
DNSServerOrder"),
Dynamic, Provider("RegPropProv")] DNSServerOrder;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] FQDN;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] DNS_FQDN;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] Gateway;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] HECIVersion;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] MAC;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] IPAddress;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] LMSVersion;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] Make;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT
Dynamic, Provider("RegPropProv")] Model;

/ / / EDS TECHNICAL DOCUMENT

SCAN DATA|AMTMac"),
SCAN DATA|

SCAN DATA|AMTVersion"),
SCAN DATA|AssetTag"),
SCAN DATA|BIOSVersion"),
SCAN DATA|ChassisType"),
SCAN DATA|Date"),
SCAN DATA|DHCPServer"),
SCAN DATA|

SCAN DATA|FQDN"),
SCAN DATA|DNS_FQDN"),
SCAN DATA|Gateway"),
SCAN DATA|HECIVersion"),
SCAN DATA|Mac"),
SCAN DATA|IPAddress"),
SCAN DATA|LMSVersion"),
SCAN DATA|Make"),
SCAN DATA|Model"),

[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN
ProvisionServerPing"),
Dynamic, Provider("RegPropProv")] ProvisionServerPing;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN
Dynamic, Provider("RegPropProv")] SerialNumber;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN
Dynamic, Provider("RegPropProv")] SubnetMask;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN
Dynamic, Provider("RegPropProv")] SystemName;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN
Dynamic, Provider("RegPropProv")] UNSVersion;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN
Dynamic, Provider("RegPropProv")] SMSSiteCode;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN
SMSManagementServer"),
Dynamic, Provider("RegPropProv")] SMSManagementServer;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SYSTEM\\Intel\\iAMT SCAN
Dynamic, Provider("RegPropProv")] UUID;
};

DATA|

DATA|SerialNumber"),
DATA|SubnetMask"),
DATA|SystemName"),
DATA|UNSVersion"),
DATA|SMSSiteCode"),
DATA|

DATA|UUID"),

Now open the SMS_DEF.MOF file and paste the Following at the end of the file,
and save.
//============================================================
======
// Custom iAMT Data Reporting Definition used by the Inventory Agent
//============================================================
======
#pragma namespace("\\\\.\\root\\CIMV2\\SMS")
#pragma deleteclass("Intel_iAMT_SCAN_DATA", NOFAIL)
[SMS_Report(TRUE),
SMS_Group_Name("Intel iAMT Scan Data"),
SMS_Class_ID("Intel_iAMT_Scan_Data")]
class Intel_iAMT_SCAN_DATA : SMS_Class_Template
{
[SMS_Report(True)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(True)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]

/ / / EDS TECHNICAL DOCUMENT

string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string

AMTMac;
AMTSetupStatus;
AMTVersion;
AssetTag;
BIOSVersion;
ChassisType;
Date;
DHCPServer;
DNSServerOrder;
FQDN;
DNS_FQDN;
Gateway;
HECIVersion;
MAC;
IPAddress;
LMSVersion;
Make;
Model;
ProvisionServerPing;
SerialNumber;
SubnetMask;
SystemName;

[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
[SMS_Report(TRUE)]
};

/ / / EDS TECHNICAL DOCUMENT

string
string
string
string

UNSVersion;
SMSSiteCode;
SMSManagementServer;
UUID;

You might also like