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>
This commit is contained in:
267
docs/DATA_COLLECTION_REFERENCE.md
Normal file
267
docs/DATA_COLLECTION_REFERENCE.md
Normal file
@@ -0,0 +1,267 @@
|
||||
# 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*
|
||||
Reference in New Issue
Block a user