#requires -Version 5.1 <# AdaptaPro - Explorador de requisitos tecnicos v0.1 (07-11-2026) Solo lectura de sistema. Crea un reporte TXT local y abre Notepad. NO instala, limpia, modifica red/servicios/registro ni pide administrador. NO probado en Windows. Revisar y validar antes de distribuir en produccion. #> [CmdletBinding()] param() $ErrorActionPreference = 'Stop' $report = New-Object System.Collections.Generic.List[string] function Line([string]$Text) { $report.Add($Text) } function Probe([string]$Label,[scriptblock]$Read) { try { & $Read } catch { Line ($Label + ': NO VERIFICADO (consulta no disponible).') } } Line 'ADAPTAPRO - EXPLORADOR TECNICO v0.1' Line ('Fecha local: ' + (Get-Date -Format 'yyyy-MM-dd HH:mm')) Line 'Diagnostico local. No certifica compatibilidad ni instalacion.' Line 'No se incluyen usuario, equipo, IP, seriales, archivos ni credenciales.' Line '' Probe 'Windows' { $os = Get-CimInstance -ClassName Win32_OperatingSystem -Property Caption,Version,OSArchitecture Line ('Windows: ' + $os.Caption) Line ('Version: ' + $os.Version) Line ('Arquitectura SO: ' + $os.OSArchitecture) Line 'Compatibilidad con esta version: PENDIENTE de prueba AdaptaPro.' } Probe 'Memoria' { $sys = Get-CimInstance -ClassName Win32_ComputerSystem -Property TotalPhysicalMemory $ram = [math]::Round($sys.TotalPhysicalMemory / 1GB,1) Line ('RAM instalada GB: ' + $ram) if ($ram -lt 15.5) { Line 'REVISAR: la pagina AdaptaPro pide 16 GB para uso local. Limpiar no aumenta RAM.' } else { Line 'RAM: alcanza 16 GB nominales; no demuestra rendimiento del caso real.' } } Probe 'CPU' { $cpus = @(Get-CimInstance -ClassName Win32_Processor -Property NumberOfCores,NumberOfLogicalProcessors) $cores = ($cpus | Measure-Object -Property NumberOfCores -Sum).Sum $logical = ($cpus | Measure-Object -Property NumberOfLogicalProcessors -Sum).Sum Line ('CPU nucleos: ' + $cores + ' | Procesadores logicos: ' + $logical) Line 'La cantidad de nucleos no acredita equivalencia con un modelo i7.' } Probe 'Disco sistema' { $disk = Get-CimInstance -ClassName Win32_LogicalDisk -Filter ('DeviceID="' + $env:SystemDrive + '"') -Property Size,FreeSpace Line ('Disco sistema capacidad GB: ' + [math]::Round($disk.Size/1GB,1)) Line ('Disco sistema libre GB: ' + [math]::Round($disk.FreeSpace/1GB,1)) Line 'Espacio requerido: PENDIENTE segun paquete base, datos, respaldo y temporales.' } Probe 'Tipo de disco' { if (Get-Command Get-PhysicalDisk -ErrorAction SilentlyContinue) { $media = @(Get-PhysicalDisk | Select-Object -ExpandProperty MediaType -Unique) Line ('Tipos de medio detectados: ' + ($media -join ', ')) Line 'Si aparece Unspecified o varios discos, verificar donde quedaran aplicacion y datos.' } else { Line 'Tipo de disco: NO VERIFICADO.' } } Probe 'WinGet' { $cmd = Get-Command winget.exe -ErrorAction SilentlyContinue if ($cmd) { Line 'WinGet: ejecutable localizado. Version y funcionamiento NO verificados.' } else { Line 'WinGet: no localizado en este acceso. No se instala automaticamente.' } } Line '' Line 'RECOMENDACIONES Y COMPROBACIONES PENDIENTES' Line '1. Indicar al asistente: instalacion nueva o actualizacion Service Pack; estacion o servidor.' Line '2. Confirmar respaldo recuperable de empresas/datos antes de cualquier instalacion o actualizacion.' Line '3. Revisar uso CPU/RAM/disco en Administrador de tareas. No se cerraron procesos.' Line '4. Si falta espacio, revisar Almacenamiento de Windows. No borrar Descargas, bases ni respaldos.' Line '5. Guardar trabajo y cerrar normalmente aplicaciones innecesarias antes de instalar.' Line '6. Revisar Windows Update y reinicio pendiente manualmente; no se aplicaron actualizaciones.' Line '7. MySQL, puertos, licencia y version del instalador requieren verificacion del caso; no se tocaron.' Line '8. No desactivar antivirus, firewall o politicas para pasar una comprobacion.' Line '' Line 'FUENTES' Line 'Requisitos del editor: https://adaptaproerp.com/requerimientos-tecnicos/' Line 'La pagina del editor cita Windows 7/8/10: no acredita compatibilidad Windows 11.' Line 'Recomendaciones generales: https://support.microsoft.com/en-us/windows/experience/performance-optimization/tips-to-improve-pc-performance-in-windows' Line '' Line 'Antes de pegar este reporte, revisa su contenido. No agregues datos personales ni claves.' Line 'No es optimizador ni certificacion. Si una consulta falla, figura NO VERIFICADO.' # The only filesystem write is this new report in the current user's temp directory. $path = Join-Path ([IO.Path]::GetTempPath()) ('ADAPTAPRO_DIAGNOSTICO_' + [guid]::NewGuid().ToString('N') + '.txt') [IO.File]::WriteAllLines($path,$report,(New-Object Text.UTF8Encoding($true))) Write-Output ('Reporte local creado: ' + $path) try { Start-Process -FilePath 'notepad.exe' -ArgumentList ('"' + $path + '"') } catch { Write-Warning 'No se pudo abrir Notepad. Abre manualmente el reporte local indicado.' }