Network Device Inventory
Producer for the canonical /assets/network-devices surface
What it does
Producer for the canonical /assets/network-devices surface (NetworkDeviceInventoryView -> useNetworkDeviceInventoryLogic). Invoked via the generic powershell:executeModule API: Import-Module 'Modules/Discovery/NetworkDeviceInventory.psm1' Get-NetworkDeviceInventory -Domain ... -Credential ... -CompanyName ... so - unlike the Invoke-*Discovery modules - it is SELF-CONTAINED (no DiscoveryBase / Start-DiscoveryModule context harness) and its parameters must exactly match the splatted hashtable the hook sends. HONEST DISCOVERY ONLY. Three real, reachable sources: 1. Local network adapters (Get-NetAdapter) 2. ARP/ND neighbour cache (Get-NetNeighbor - devices actually seen on the wire) 3. AD computer objects whose OperatingSystem identifies network gear (RSAT ActiveDirectory module; skipped with a warning when unavailable) An unreachable source contributes 0 rows + a warning - never synthetic devices. Output contract: - RETURN VALUE (JSON-serialised by PowerShellExecutionService): a single object { Success, devices[], RecordCount, Warnings[] }. The `devices` rows use the renderer's camelCase NetworkDeviceData field names because useNetworkDeviceInventoryLogic binds result.data.devices to the grid with NO PascalCase->camelCase mapping. - CSV (data lake): static filename NetworkDevices.csv (no timestamps) written to C:\DiscoveryData\<CompanyName>\Raw\ with PascalCase headers. Headers are written even for 0 rows. Skipped (with a warning) when no CompanyName is provided.
How the app exposes it
The module feeds into the ACQI app's dedicated results view. From there, conflicts, dependencies, and readiness scores roll up into the deal workspace.
/discovered/network-device-inventory Outputs
Each module produces a CSV with readiness and risk scores, evidence-source counts, and last-seen timestamps. The exact columns vary by module — the app's results view shows the live schema.