# Check for new test data files that need importing $password = ConvertTo-SecureString 'Paper123!@#' -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential('INTRANET\sysadmin', $password) Write-Host "========================================" -ForegroundColor Cyan Write-Host "Test Data Import Status Check" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan Write-Host "[1/4] Mounting AD2 C$ share..." -ForegroundColor Green New-PSDrive -Name AD2 -PSProvider FileSystem -Root "\\192.168.0.6\C$" -Credential $cred -ErrorAction Stop | Out-Null # Check database last modified time Write-Host "`n[2/4] Checking database status..." -ForegroundColor Green $dbFile = Get-Item "AD2:\Shares\testdatadb\database\testdata.db" Write-Host " Database last modified: $($dbFile.LastWriteTime)" -ForegroundColor Cyan Write-Host " Database size: $([math]::Round($dbFile.Length/1MB,2)) MB" -ForegroundColor Cyan # Check for new DAT files in test folders Write-Host "`n[3/4] Checking for new test data files..." -ForegroundColor Green $logTypes = @("8BLOG", "DSCLOG", "7BLOG", "5BLOG", "PWRLOG", "VASLOG", "SCTLOG", "HVLOG", "RMSLOG") $testStations = @("TS-1L", "TS-3R", "TS-4L", "TS-4R", "TS-8R", "TS-10L", "TS-11L") $newFiles = @() $cutoffTime = $dbFile.LastWriteTime foreach ($station in $testStations) { foreach ($logType in $logTypes) { $path = "AD2:\Shares\test\$station\LOGS\$logType" if (Test-Path $path) { $files = Get-ChildItem $path -Filter "*.DAT" -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -gt $cutoffTime } if ($files) { foreach ($file in $files) { $newFiles += [PSCustomObject]@{ Station = $station LogType = $logType FileName = $file.Name Size = [math]::Round($file.Length/1KB, 2) Modified = $file.LastWriteTime Path = $file.FullName } } } } } } if ($newFiles.Count -gt 0) { Write-Host " [FOUND] $($newFiles.Count) new files since last import:" -ForegroundColor Yellow $newFiles | Format-Table Station, LogType, FileName, @{Name='Size(KB)';Expression={$_.Size}}, Modified -AutoSize | Out-String | Write-Host } else { Write-Host " [OK] No new files found - database is up to date" -ForegroundColor Green } # Check sync script log Write-Host "`n[4/4] Checking sync log..." -ForegroundColor Green $syncLog = "AD2:\Shares\test\scripts\sync-from-nas.log" if (Test-Path $syncLog) { Write-Host " [OK] Sync log exists" -ForegroundColor Green $logFile = Get-Item $syncLog Write-Host " Last modified: $($logFile.LastWriteTime)" -ForegroundColor Cyan Write-Host " Last 10 log entries:" -ForegroundColor Cyan $lastLines = Get-Content $syncLog -Tail 10 $lastLines | ForEach-Object { Write-Host " $_" -ForegroundColor Gray } } else { Write-Host " [WARNING] Sync log not found at: $syncLog" -ForegroundColor Yellow } Remove-PSDrive -Name AD2 -ErrorAction SilentlyContinue Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Summary" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan if ($newFiles.Count -gt 0) { Write-Host "[ACTION REQUIRED] Import new files:" -ForegroundColor Yellow Write-Host " cd C:\Shares\testdatadb" -ForegroundColor Cyan Write-Host " node database\import.js" -ForegroundColor Cyan Write-Host "`n Or wait for automatic import (runs every 15 minutes)" -ForegroundColor Gray } else { Write-Host "[OK] Database is current - no import needed" -ForegroundColor Green } Write-Host "========================================`n" -ForegroundColor Cyan