Files
powershell-scripts/docs/DATA_COLLECTION_REFERENCE.md
cproudlock 96cb1dd946 Remove all emojis from markdown documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 11:03:45 -05:00

9.9 KiB
Raw Permalink Blame History

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

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

# 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

# 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

$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

# 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

Get-ComputerInfo        # Basic system data
Get-WmiObject queries   # Hardware details

2. Network Interface Analysis

Get-WmiObject Win32_NetworkAdapterConfiguration | 
    Where-Object { $_.IPEnabled -eq $true }

3. Manufacturing Configuration Detection

Get-ShopfloorConfig     # DNC and GE registry analysis
Get-GERegistryInfo      # Architecture and DualPath detection

4. Data Aggregation & Transmission

# 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