# Data Collection Reference ## Complete PowerShell Asset Management System Data Collection This document provides a comprehensive reference of all data points collected by the PowerShell asset management system, organized by category and source. --- ## 🖥️ Basic System Information ### Core System Data | Field | Source | Type | Description | |-------|--------|------|-------------| | `hostname` | `$env:COMPUTERNAME` | String | Computer name | | `serialnumber` | WMI `Win32_BIOS.SerialNumber` | String | System serial number | | `manufacturer` | WMI `Win32_ComputerSystem.Manufacturer` | String | System manufacturer (Dell, HP, etc.) | | `model` | WMI `Win32_ComputerSystem.Model` | String | System model number | | `operatingSystem` | WMI `Win32_OperatingSystem.Caption` | String | OS version and edition | | `osVersion` | WMI `Win32_OperatingSystem.Version` | String | OS build version | | `osArchitecture` | WMI `Win32_OperatingSystem.OSArchitecture` | String | System architecture (32-bit/64-bit) | | `totalMemoryGB` | WMI `Win32_PhysicalMemory` | Integer | Total RAM in GB | | `processor` | WMI `Win32_Processor.Name` | String | CPU model and specifications | | `lastBootUpTime` | WMI `Win32_OperatingSystem.LastBootUpTime` | DateTime | System last boot time | | `currentUser` | `$env:USERNAME` | String | Currently logged-in user | | `domain` | WMI `Win32_ComputerSystem.Domain` | String | Active Directory domain | ### Hardware Details | Field | Source | Type | Description | |-------|--------|------|-------------| | `biosVersion` | WMI `Win32_BIOS.SMBIOSBIOSVersion` | String | BIOS/UEFI version | | `biosDate` | WMI `Win32_BIOS.ReleaseDate` | DateTime | BIOS release date | | `systemType` | WMI `Win32_ComputerSystem.SystemType` | String | System type (desktop/laptop) | | `totalPhysicalMemory` | WMI `Win32_ComputerSystem.TotalPhysicalMemory` | Long | Total physical memory in bytes | --- ## 🌐 Network Configuration ### Network Interface Data | Field | Source | Type | Description | |-------|--------|------|-------------| | `networkInterfaces` | WMI `Win32_NetworkAdapterConfiguration` | Array | All network interfaces with IP configuration | | `ipAddress` | Network interfaces | String | Primary IP address | | `subnetMask` | Network interfaces | String | Subnet mask | | `defaultGateway` | Network interfaces | String | Default gateway | | `macAddress` | Network interfaces | String | MAC address | | `dhcpEnabled` | Network interfaces | Boolean | DHCP enabled status | | `dnsServers` | Network interfaces | Array | DNS server list | ### Network Interface Details Per Adapter ```powershell foreach ($interface in $networkInterfaces) { InterfaceDescription # Network adapter description IPAddress[] # Array of IP addresses IPSubnet[] # Array of subnet masks DefaultIPGateway[] # Array of gateways MACAddress # Physical address DHCPEnabled # DHCP status DNSServerSearchOrder[] # DNS servers IPEnabled # Interface enabled status InterfaceIndex # Interface index number } ``` --- ## Manufacturing/Shopfloor Configuration ### DNC (Direct Numerical Control) System Data | Field | Source | Type | Description | |-------|--------|------|-------------| | `dncConfigFound` | Registry scan | Boolean | DNC configuration detected | | `dncDualPathEnabled` | eFocas registry | Boolean | DualPath communication enabled | | `dncGeRegistry32Bit` | Registry detection | Boolean | 32-bit GE registry found | | `dncGeRegistry64Bit` | Registry detection | Boolean | 64-bit GE registry found | ### GE Aircraft Engines Registry Analysis #### Registry Architecture Detection ```powershell # Dual registry path scanning $registryPaths = @{ '32bit' = 'HKLM:\SOFTWARE\GE Aircraft Engines' '64bit' = 'HKLM:\SOFTWARE\WOW6432Node\GE Aircraft Engines' } ``` #### DNC Service Configurations | Service | Registry Paths | Data Collected | |---------|----------------|----------------| | **Serial** | `DNC\Serial` | Serial communication settings | | **Mark** | `DNC\Mark` | Marking system configuration | | **PPDCS** | `DNC\PPDCS` | Production data collection | | **TQM9030** | `DNC\TQM9030` | Quality management system | | **TQMCaron** | `DNC\TQMCaron` | Caron quality system | | **eFocas** | `DNC\eFocas` | Machine monitoring system | | **General** | `DNC\General` | General DNC settings | #### eFocas Configuration Details ```powershell # eFocas registry values collected per path $efocasData = @{ BasePath # Registry base path Path1Name # Primary communication path Path2Name # Secondary communication path DualPath # DualPath enabled ("YES"/"NO") [Additional registry values dynamically collected] } ``` ### DualPath Communication Configuration | Field | Source | Description | |-------|--------|-------------| | `DualPathEnabled` | eFocas `DualPath` registry value | Boolean indicating dual communication paths | | `Path1Name` | eFocas registry | Primary communication path identifier | | `Path2Name` | eFocas registry | Secondary communication path identifier | | `CommunicationMode` | Registry analysis | Communication mode configuration | --- ## 🔍 System Analysis & Intelligence ### Registry Architecture Analysis ```powershell $geRegistryInfo = @{ Registry32Bit = $false # Found in 32-bit registry Registry64Bit = $false # Found in 64-bit registry DualPathEnabled = $null # DualPath configuration ServiceConfigurations = @{} # Per-service registry data FoundPaths = @() # All discovered registry paths } ``` ### Manufacturing Intelligence Data | Category | Data Points | Purpose | |----------|------------|---------| | **Communication Paths** | DualPath detection, Path1/Path2 names | Network redundancy analysis | | **Service Architecture** | 32-bit vs 64-bit service locations | Compatibility and migration planning | | **System Integration** | DNC service configurations | Manufacturing system health | | **Quality Systems** | TQM9030, TQMCaron configurations | Quality control integration | --- ## 🗄️ Database Integration ### Data Transmission Format ```powershell # POST data structure sent to dashboard API $postData = @{ # Basic system info hostname = $computerName serialnumber = $serialNumber manufacturer = $manufacturer # ... [all basic fields] # Network configuration networkInterfaces = $networkData # Manufacturing data dncConfigFound = $dncFound dncDualPathEnabled = $geInfo.DualPathEnabled dncGeRegistry32Bit = $geInfo.Registry32Bit dncGeRegistry64Bit = $geInfo.Registry64Bit # Shopfloor configuration shopfloorConfig = $shopfloorData } ``` ### Database Tables Updated | Table | Primary Data | Key Fields | |-------|-------------|------------| | `PCs` | Basic system information | `hostname`, `serialnumber`, `manufacturer` | | `PC_Network_Interfaces` | Network configuration | `hostname`, `interface_name`, `ip_address` | | `PC_DNC_Config` | Manufacturing settings | `hostname`, `dualpath_enabled`, `registry_32bit` | --- ## 🔄 Data Collection Workflow ### 1. System Information Collection ```powershell Get-ComputerInfo # Basic system data Get-WmiObject queries # Hardware details ``` ### 2. Network Interface Analysis ```powershell Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.IPEnabled -eq $true } ``` ### 3. Manufacturing Configuration Detection ```powershell Get-ShopfloorConfig # DNC and GE registry analysis Get-GERegistryInfo # Architecture and DualPath detection ``` ### 4. Data Aggregation & Transmission ```powershell # Combine all data sources $postData = @{} + $systemInfo + $networkInfo + $manufacturingInfo # Send to dashboard API Invoke-RestMethod -Uri $apiEndpoint -Method POST -Body $postData ``` --- ## 📋 Collection Statistics ### Comprehensive Data Points - **Basic System**: ~15 core system fields - **Network Configuration**: ~8 fields per interface (multiple interfaces) - **Manufacturing/DNC**: ~10+ specialized manufacturing fields - **Registry Architecture**: Dual-path scanning (32-bit + 64-bit) - **Service-Specific**: 7 DNC services × multiple registry values each ### Total Data Points Collected - **Minimum**: ~40 fields for basic desktop PC - **Shopfloor PC**: ~60+ fields with full DNC configuration - **Manufacturing Workstation**: ~80+ fields with complete eFocas integration --- ## 🎯 Use Cases & Applications ### IT Asset Management - Hardware inventory and lifecycle tracking - Software version and patch management - Network configuration documentation ### Manufacturing Operations - DNC system health monitoring - Dual communication path verification - Quality system integration status - Machine connectivity analysis ### Security & Compliance - Network configuration auditing - System architecture documentation - Access path verification --- ## 📝 Notes & Considerations ### Data Collection Scope - **Non-Intrusive**: Read-only system information collection - **Manufacturing-Aware**: Specialized shopfloor system detection - **Architecture-Intelligent**: Dual registry path scanning - **Network-Comprehensive**: Complete interface configuration ### Performance Characteristics - **Collection Time**: ~30-60 seconds per PC - **Network Impact**: Minimal (single API POST per PC) - **System Impact**: Read-only operations, no system changes ### Future Enhancements - Additional vendor registry detection (Siemens, Fanuc, etc.) - Extended quality system integration - Real-time monitoring capabilities - Advanced manufacturing analytics --- *Last Updated: September 2025 | Version 3.2* *PowerShell Asset Management System - Complete Data Collection Reference*