Skip to content

Inventory Data (schema v2.1)

EasyDeploy records one inventory record per deployment — success, failure, or cancellation. The record is written locally. CoreSystem does not receive this data.

Schema v2.1 is the current additive field set. The wire value remains schema_version: 2; v2.1 adds fields such as asset_tag, asset_tag_source, memory, battery and tpm_vendor, and extends disks[].

Stage When What is captured
Early WinPE startup, while the network initializes Identity, firmware, CPU/RAM/disks/chassis, TPM/Secure Boot, wired NIC
Refresh After Wi-Fi connects NIC list and hashed MAC addresses; included only in the BYOB full payload, not in local standard files
Final Deployment end (success / failed / cancelled) OS, mode, profile, image, target disk, timestamps, duration, result, bitlocker_before

The final record is a merge of all three stages. If a required identity/hardware field (serial, UUID, product, chassis, BIOS, or disk list) cannot be read in WinPE, it is written as null and partial is set to true (see below). Missing NIC data while offline does not set partial.

File Location Purpose
Inventory-<key8>-<yyyyMMdd-HHmmss>.json C:\ (OS volume root) and the USB root Inventory record (local standard level)
Inventory-<key8>-<yyyyMMdd-HHmmss>.csv Same as above Flat 59-column version for Excel/SQL import
Inventory.work.json X:\EASYDEPLOY\ Temporary work file (Early + Refresh), removed after a successful final write
  • Both JSON and CSV are written for every tier — Free and MSP Advanced.
  • Files are written with write-through + verify + retry before the reboot to OOBE.
  • If the USB is removed or read-only, EasyDeploy still writes to C:\ and X:\EASYDEPLOY.
  • The v4 deployment CSV is replaced by this inventory record.

Local files always use the standard payload: they omit hardware.nics. NIC MAC hashes are available only in the BYOB full payload. All other hardware fields described below are part of the local record when WinPE can read them.

Group Examples
Identity device_key (SHA-256 of SMBIOS UUID; fallback hash is flagged by device_key_fallback), serial, uuid, manufacturer/product, board, asset_tag/asset_tag_source, identity_quality
Firmware BIOS vendor/version/date, UEFI/Legacy, Secure Boot, TPM presence/version/vendor
Hardware Chassis, CPU, RAM installed/usable/reserved, memory modules, disks (serial/firmware/bus/health/capacity class), battery; NICs only in BYOB full
Deploy OS build/version/edition/activation/language, deploy mode, profile, image source/SHA-256, target disk, recovery partition, timestamps, duration, result, failed step, bitlocker_before
USB / license usb_serial, usb_brand, license_company, license_exp
Metadata schema_version, captured_at, client_version, partial

Operator, customer, and site are not part of the record.

partial: true means one or more hardware/identity fields that should normally be available could not be read (for example, a placeholder SMBIOS serial on a VM).

Being offline is not a reason for partial: true; an offline deployment is a valid state and does not block deployment.

EasyDeploy does not collect:

  • User names, accounts, passwords, email
  • Profile contents (unattend.xml, Post-setup.ps1, tweaks)
  • License files or user-config.json
  • Data on the workstation’s hard drive

Serial numbers and UUIDs are device identifiers used for asset/warranty lookup. Data stays on the local disk/USB; CoreSystem never receives it.

{
"schema_version": 2,
"captured_at": "2026-10-22T11:19:26Z",
"client_version": "5.0",
"partial": false,
"identity": {
"device_key": "19a69291…",
"serial": "L6N0CX05J87824E",
"uuid": "6F923896-…",
"manufacturer": "ASUSTeK COMPUTER INC.",
"product": "VivoBook_ASUSLaptop X421IAY_M413IA",
"asset_tag": null,
"identity_quality": "real"
},
"firmware": { "firmware_mode": "UEFI", "secure_boot": "on", "tpm_present": true, "tpm_version": "2.0" },
"hardware": {
"chassis_type": "laptop",
"cpu_cores": 6,
"cpu_threads": 6,
"ram_installed_gb": 8.0,
"ram_usable_gb": 7.4,
"ram_reserved_gb": 0.6,
"ram_source": "modules",
"memory": [{ "bank_label": "P0 CHANNEL A", "capacity_gb": 8, "speed_mts": 3200, "part_number": "HMA81GS6DJR8N-XN" }],
"disks": [{ "model": "INTEL SSDPEKNW512G8", "serial": "BTNH00720HLP512A", "size_bytes": 512110190592, "size_gib": 476.9, "capacity_class_gb": 512, "role": "system", "firmware": "004C", "bus_type": "NVMe", "health": "Healthy" }],
"battery": { "full_charged_capacity_mwh": 26401, "cycle_count": 364, "voltage_mv": 11850 }
},
"deploy": {
"os_build": "26300.9711",
"os_edition": "Pro",
"result": "success",
"duration_s": 267,
"bitlocker_before": "none"
},
"usb": { "serial": "0022CFF6B88BC861432765CC", "brand": "KIOXIA TransMemory" }
}

CSV uses the same fields in a fixed 59-column header; list fields are joined with ; (disks = model|serial|size_gib|media_type|interface|role|firmware|bus_type|health|serial_source|size_bytes|capacity_class_gb;…).