# Overview of Advanced Insights Inventory Extension

*Applies to: Patch My PC Advanced Insights*

## Inventory Extensions Process Visualized

<figure><img src="https://3773699522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MX7dvS0r_4fc0AikgJS%2Fuploads%2FZyZtIWTLgdUKhQ7jbeUZ%2FWMI.png?alt=media&#x26;token=69471955-54e8-47eb-affe-c47a231687c3" alt=""><figcaption></figcaption></figure>

## What is the Inventory Extensions MSI?

The Inventory Extensions MSI is a .NET **WMI Provider**. This provider code is loaded by the **WMI Service** on Windows clients. The provider returns data that the client processes into a hardware inventory report where it is then submitted to the ConfigMgr site server and entered into the SQL database.

## What is WMI?

**WMI** stands for **Windows Management Instrumentation**. It is a set of specifications from Microsoft for consolidating the management of devices and applications in a network from Windows-based systems. WMI provides a standardized way for systems administrators to manage and query information about their systems.

The heart of **WMI** is the **WMI Service**, known as `Winmgmt` and part of the Windows OS, this service runs in the background on all Windows systems. This service acts as a broker between **WMI Clients** (ConfigMgr client) and the **WMI Providers** (Inventory Extensions MSI) that deliver the actual data.

## How does this integrate with ConfigMgr?

ConfigMgr's existing hardware inventory data is collected from **WMI**. We simply extend ConfigMgr's default hardware inventory policy with the new definitions of our Inventory Extensions data. This allows the ConfigMgr clients to query our **WMI Provider** through the **WMI Service** during its normal hardware inventory task - just like it would for any existing hardware inventory class.

For this reason **we do not consider the Inventory Extensions MSI as an "Agent"**. We do not install any services on clients, instead the existing WMI Service brokers the connection between our Inventory Extension MSI code and the ConfigMgr client for us. The only time this code runs on clients is during a Hardware Inventory task or when a custom client action is invoked, after which the **WMI Service** handles the unloading of our **WMI Provider**.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.patchmypc.com/patch-my-pc-insights/advanced-insights-inventory-extensions/overview-of-advanced-insights-inventory-extension.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
