CPL24Inventory.exe
The CPL24Inventory.exe
For collecting data, you need access to the guest operating system on the virtual machine. In case of CPL24 this statement belongs to virtual machines with Microsoft Windows.
CPL24 Inventory is one of the core components. It is used to collect the data and transfer the collected data to the CPL24 backend. This will be placed at the default windows directory (C:\Windows).
What kind of data is collected?
- Basic machine data like hostname, domain, virtualization layer, cpus, cores, operating system…
- Installed Software (Windows), installed packages (Linux)
- Services
- Network cards & ip information
- Disk drives / mount points
- Local users and groups
- Installed Microsoft Updates
- Installed SQL Server instances
- Active Directory Users, Groups, Memberships, Organization Units, Attributes (only on Domain Controllers with the PDC role)
- Hyper-V/SCVMM Information (if Hyper-V role is detected or SCVMM is detected)
- VmWare ESX Hosts and virtual machine information (extension with addtional configuration required)
- Xen Hosts and virtual machine information (extension with additional configuration required)
- Exchange Mailbox Information (extension with additional configuration required)
- Information of all executables and DLLs (optional)
What are the requirements to run the inventory?
- Microsoft Windows 2008 R2/Windows 7 or higher
- .NET Framework 4.5
- Your target URL (further down we use TargetURL)
- Your inventory hash (further down we use InventoryHash)
- HTTP/S traffic allowed to TargetURL
- Administrative rights on the machine where the inventory is running on
How often should I run the inventory?
We recommend once per day but you can adjust this to your requirements. If you have less changes in your environment than a longer interval could be better for you. In general the inventory is running less than a minute on each system and is not making a heavy load. Impacts on your production environment are not to be expected.
How should i deploy the inventory to my environment?
We say: It depends. At the end of the day the CPL24Inventory.exe must be called, how you achieve this doesn’t matter. Choose the tools you have or you like. Of course we bring our own tools or options like ScriptAgent or CreateTask but you can also use an existing software deployment solution like System Center Configuration Manager or use Group Policies. You can also mix different technologies if it brings a benefit for you.
How do i call CPL24Inventory?
CPL24Inventory.exe --TargetUrl "https://TargetURL/InventoryHash"
In which security context should i run CPL24Inventory?
We recommend “local system”. An administrative account is also possible. Local System is the default when you use the ScriptAgent.
How do i get my TargetURL and InventoryHash
We tell you that. But in general you can use the following TargetURLs:
| Customer Type | Target URL |
|---|---|
| CPL24 Cloud | https://rsaf.cpl24.com/p/api/ |
| Echo eG member | https://api.echo-eg.eu/p/api/ |
The InventoryHash is generated during your tenant setup and is transmitted in your onboarding documents.
What have i to do when an update for CPL24Inventory is necessary?
Nothing, CPL24Inventory is checking for updates after each run and is self updating.
How can i see if my inventory is running correctly?
When you start the process interactive then you should see an output like this:
CPL24Inventory.exe --TargetUrl "https://TargetURL/InventoryHash"
Test was successful. Start inventory...
If you don’t get this output or you run in a non interactive mode (which is normally the default) then you should check the logfile. The logfile is located in
%WINDIR%\TEMP\SI\CPL24Inventory.log
Output example for a successful run:
01 2022-01-18 10:26:59,980 [1] INFO CPL24Inventory.Program [(null)] - Starting CPL24Inventory... Ver: 2.1.21.0
02 2022-01-18 10:27:00,104 [1] INFO CPL24Inventory.Program [(null)] - TestConnection: OK
03 2022-01-18 10:27:00,356 [1] INFO CPL24Inventory.Program [(null)] - Config: T -> TargetURL/InventoryHash
04 2022-01-18 10:27:00,359 [1] INFO CPL24Inventory.Service [(null)] - Collecting Data
05 2022-01-18 10:27:07,670 [1] INFO CPL24Inventory.Collect [(null)] - No MS SQL instance available
06 2022-01-18 10:27:08,688 [1] INFO CPL24Inventory.Collect [(null)] - Inventory Username: DOMAIN\COMPUTER$ and Windows Identity: NT AUTHORITY\SYSTEM
07 2022-01-18 10:27:08,695 [1] INFO CPL24Inventory.Collect [(null)] - Finished successful
08 2022-01-18 10:27:08,699 [1] INFO CPL24Inventory.Service [(null)] - RunExtensions Mode: EditInventory
09 2022-01-18 10:27:08,782 [1] INFO CPL24Inventory.Service [(null)] - Transfer inventory Data
10 2022-01-18 10:27:09,018 [1] INFO CPL24Inventory.Service [(null)] - Result OK?: True
11 2022-01-18 10:27:09,019 [1] INFO CPL24Inventory.Service [(null)] - RunExtensions Mode: XtraXML, Selfupdate
12 2022-01-18 10:27:09,024 [1] INFO Tools.SelfUpdate [(null)] - Selfupdate CPL24Inventory.exe
13 2022-01-18 10:27:09,107 [1] WARN Tools.SelfUpdate [(null)] - The client version is newer or already up to date. Selfupdate skipped.
14 2022-01-18 10:27:09,143 [1] INFO CPL24Inventory.Program [(null)] - Exiting CPL24Inventory... Ver: 2.1.21.0
See line 10, the “Result OK?:” has to be true, if there is a false then the data transmission to the server has failed. The reason for this is then in the following log lines. See the FAQ for frequent problems and answers.
What are extensions and when do i need one?
CPL24Inventory can be extended. An extension is a DLL file which is placed besides the CPL24Inventory.exe. You need extensions for additional data to be collected, e. g. data from VmWare vCenter. Please see the Extensions section in the docs .
Is there more configuration needed?
Yes, you surely noticed that you read nothing about customers, bring in licenses, etc. So there is a configuration file in JSON format. Within this file all additional configuration can be done to achieve a logical complete inventory. Please see the section for the configuration file for further information.