Files
powershell-scripts/docs/DATA_COLLECTION_REFERENCE.md
cproudlock 62c0c7bb06 Initial commit: Organized PowerShell scripts for ShopDB asset collection
Structure:
- asset-collection/: Local PC data collection scripts
- remote-execution/: WinRM remote execution scripts
- setup-utilities/: Configuration and testing utilities
- registry-backup/: GE registry backup scripts
- winrm-https/: WinRM HTTPS certificate setup
- docs/: Complete documentation

Each folder includes a README with detailed documentation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 10:57:54 -05:00

267 lines
9.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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*