Help for Getting Started

Ready to get started with Callisto? We’re here to help. Browse through our most popular articles or get in touch if you need advice on something more specific to your SCCM environment.

Callisto Help > Getting started > Callisto Inventory Extensions Setup and Config

Callisto Inventory Extensions Setup and Config

Callisto Inventory Extensions enhance the default Configuration Manager dataset with new inventory classes. For the initial release of this feature, these classes include Update Compliance info from Windows Update (for more information on this specific area please see this document), Monitor Information, Battery and Disk Health.

This feature is not enabled by default and is administered via the Administration node under the Callisto Inventory Extensions tab.

Callisto Inventory Extensions Admin Pane

To make use of the this feature, we need to complete some actions.

  1. Add the new inventory classes to ConfigMgr (automated/scripted)
  2. Enable/Deploy the new inventory classes (manual)
  3. Create the Callisto Inventory Gathering package (automated/scripted)
  4. Deploy the Callisto Inventory Gathering package to the clients (manual)
  5. Wait for inventory to roll in (if using the expedited script, this will be instantaneous)

Enabling Callisto Inventory Extensions

If Callisto on-prem or the Callisto Cloud Controller is installed on your ConfigMgr site server, you will see an option to "Install via Callisto Automatically" on the tab in the Administration - Settings.

Adding a Package Source location and Clicking Install Extensions via Callisto will attempt to create all of the content and config changes required in your ConfigMgr environment.

If Callisto is not installed on your ConfigMgr site server, you will see the following message in the Callisto Inventory Extensions node

You will now complete the following tasks:

  1. Download the Callisto Inventory Extensions using the link in the portal or
  2. Unzip the downloaded archive to a folder on your SCCM Site Server
  3. Open a Powershell prompt on your ConfigMgr site server with an account that has rights to create policy, packages and collections.
  4. Run the script .\Import-Callisto-HWINV-Classes.ps1 provide the answers to the prompts for Site Code and Provider Server
  5. Run the script .\Import-Callisto-HWINV-Collection-Package.ps1. This script requires the same parameters as above plus a UNC path to the location you want to store the Callisto Inventory Package and the source of the script download, for example C:\TEMP\wmipackage\SignedScripts\
    It also will ask if you want to enable the Callisto WUA Program, this is the feature of Callisto which has client devices scan for Windows Update compliance against Microsoft Update and brings the details into the Callisto Microsoft Updates dashboard. You can enter Y or N to this prompt (more on this below).

Once you have completed the required steps above, the following will have been carried out:

  1. We will have automatically add the custom Callisto inventory classes to the default Hardware Inventory schema (they are created disabled)
  1. Added the Callisto Inventory Package and Programs to the ConfigMgr console
  1. Created two empty Collections which have the Callisto Inventory Programs deployed to them.

Once this is complete you will enable the new inventory classes either in your Default Client settings, in a or custom settings profile which is deployed to the clients in-scope for these new classes.

You can now deploy the Callisto Inventory Package to the same set of machines.

There are two Programs you can deploy, they have identical functionality, i.e. to create the WMI entries ready for inventory. The First program "Callisto Data Collection" simply populates these new inventory classes in WMI. The second "Callisto Data Collection inc Client HWInv Trigger" populates the inventory classes and then invokes a hardware inventory on the client to report inventory immediately.

To deploy the required application the simplest approach is to include an existing collection in the relevant collection created by Callisto, for example, include the All Desktop and Service Clients collection in the Callisto Inventory Extensions Expedited collection. This will ensure the Callisto Data Collection script runs on the client on a repeating schedule (every 7 days by default)

If Callisto is not installed on your Site Server you will see a link to download two PowerShell scripts to perform the above functions which you will run on your Primary Site Server.

The "Install Callisto Updates Collection Package" option

When you are enabling the Callisto Inventory Extensions, you will see an option for including Callisto Updates Collection. This is an advanced feature of Callisto, used to populate the Software Updates - Microsoft Update dashboard.

Callisto Microsoft Updates Dashboard

To populate this dashboard, the Callisto Inventory process has the client devices scan for update compliance against Microsoft Update and bring the results of that scan into this dashboard. There is a detailed look at how this works in this KB article. If your devices have access to Windows/Microsoft Update then we scan these sources, add compliance information to our WMI repository and bring it into ConfigMgr via hardware inventory to allow Callisto to analyse it.

Checking this option sets the properties of the two other inventory scanning programs to run the Windows Update scan first, this ensures that each time the Callisto inventory process runs the Microsoft Update data is automatically included.


The process which implements the inventory extensions, packages, programs, collections and deployments outputs verbose logs to the screen during install and to log files in %ProgramData% on the ConfigMgr site server.

When the client runs the process to gather the inventory extensions, execution will be logged as normal in the client execmgr.log. The process also outputs its own log to the CCM\Logs\CallistoInventory.log file.

The Callisto Control WMI class is also populated with the results of the client script execution. This lets us view script execution history and track any errors.