CAMT PC Check
อ้างอิง เกณฑ์ราคากลางฯ ดีอี พ.ค. 2569
ประเมินเครื่องเดียว

เครื่องนี้ เหมาะกับงานไหน?

ตรวจสเปกเครื่องจริงด้วยคำสั่งเดียว แล้วรับคำตอบทันทีว่าใช้ต่อได้ ควรอัปเกรด หรือควรตั้งงบทดแทน — พร้อมสเปกและราคาอ้างอิงราชการ

1

คัดลอกคำสั่งไปรันบนเครื่องที่ต้องการตรวจ

คำสั่งอ่านข้อมูลอย่างเดียว ไม่แก้ไขหรือติดตั้งอะไรในเครื่อง
POWERSHELL — วางแล้วกด Enter ครั้งเดียว (เก็บข้อมูลเชิงลึก ~10–15 วินาที)
$ErrorActionPreference='SilentlyContinue';$c=Get-CimInstance Win32_Processor|Select-Object -First 1;$cs=Get-CimInstance Win32_ComputerSystem;$os=Get-CimInstance Win32_OperatingSystem;$dk=@(Get-PhysicalDisk|ForEach-Object{[pscustomobject]@{name=$_.FriendlyName;type=[string]$_.MediaType;bus=[string]$_.BusType;sizeGB=[math]::Round($_.Size/1GB)}});if(-not $dk -or $dk.Count -eq 0){$dk=@(Get-CimInstance Win32_DiskDrive|ForEach-Object{[pscustomobject]@{name=$_.Model;type='Unknown';bus='';sizeGB=[math]::Round($_.Size/1GB)}})};$gp=@(Get-CimInstance Win32_VideoController|ForEach-Object{[pscustomobject]@{n=$_.Name;ar=[math]::Round($_.AdapterRAM/1GB,1);drv=$(if($_.DriverDate){$_.DriverDate.ToString('yyyy-MM-dd')}else{''})}});$vr=@();try{$vr=@(Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0*' -ErrorAction SilentlyContinue|Where-Object{$_.'HardwareInformation.qwMemorySize'}|ForEach-Object{[pscustomobject]@{n=$_.DriverDesc;gb=[math]::Round($_.'HardwareInformation.qwMemorySize'/1GB,1)}})}catch{};$mm=@(Get-CimInstance Win32_PhysicalMemory|ForEach-Object{[pscustomobject]@{t=$_.SMBIOSMemoryType;sp=$_.Speed;cs=$_.ConfiguredClockSpeed;gb=[math]::Round($_.Capacity/1GB)}});$vol=@(Get-CimInstance Win32_LogicalDisk -Filter 'DriveType=3'|ForEach-Object{[pscustomobject]@{id=$_.DeviceID;size=[math]::Round($_.Size/1GB);free=[math]::Round($_.FreeSpace/1GB)}});$bat=$null;try{$bd=((Get-CimInstance -Namespace root/wmi -ClassName BatteryStaticData).DesignedCapacity|Measure-Object -Sum).Sum;$bf=((Get-CimInstance -Namespace root/wmi -ClassName BatteryFullChargedCapacity).FullChargedCapacity|Measure-Object -Sum).Sum;if($bd -gt 0 -and $bf -gt 0){$bat=[pscustomobject]@{des=[int64]$bd;full=[int64]$bf}}}catch{};$sl=$null;try{$pa=Get-CimInstance Win32_PhysicalMemoryArray|Select-Object -First 1;$sl=[pscustomobject]@{tot=$pa.MemoryDevices;used=$mm.Count;maxGB=[math]::Round($pa.MaxCapacity/1MB)}}catch{};$ld=@();1..3|ForEach-Object{$v=(Get-CimInstance Win32_Processor).LoadPercentage;if($null -ne $v){$ld+=$v};Start-Sleep -Milliseconds 600};$cpuLoad=$null;if($ld.Count){$cpuLoad=[math]::Round(($ld|Measure-Object -Average).Average)};$ramUsed=[math]::Round(100-($os.FreePhysicalMemory/$os.TotalVisibleMemorySize*100));$pr=@(Get-Process|Group-Object Name|ForEach-Object{[pscustomobject]@{n=$_.Name;mb=[math]::Round(($_.Group|Measure-Object WorkingSet64 -Sum).Sum/1MB)}}|Sort-Object mb -Descending|Select-Object -First 5);$boot=$os.LastBootUpTime.ToString('yyyy-MM-dd HH:mm');$patch=$null;try{$patch=(Get-HotFix|Sort-Object InstalledOn -Descending|Select-Object -First 1).InstalledOn.ToString('yyyy-MM-dd')}catch{};$av=$null;try{$av=@(Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntiVirusProduct|ForEach-Object{$_.displayName}) -join ' / '}catch{};$net=@();try{$net=@(Get-NetAdapter|Where-Object{$_.Status -eq 'Up'}|ForEach-Object{[pscustomobject]@{n=$_.Name;sp=[string]$_.LinkSpeed;t=[string]$_.PhysicalMediaType}})}catch{};$ch=@((Get-CimInstance Win32_SystemEnclosure).ChassisTypes);$tpm=$null;try{$tpm=[bool](Get-Tpm).TpmPresent}catch{};$adm=$false;try{$adm=([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)}catch{};$ws=$null;try{$w=Get-CimInstance Win32_WinSAT;if($w){$ws=[pscustomobject]@{cpu=$w.CPUScore;mem=$w.MemoryScore;disk=$w.DiskScore;gfx=$w.GraphicsScore;d3d=$w.D3DScore;base=$w.WinSPRLevel}}}catch{};$commit=$null;try{if($os.TotalVirtualMemorySize){$commit=[math]::Round(100-($os.FreeVirtualMemory/$os.TotalVirtualMemorySize*100))}}catch{};$su=$null;try{$su=@(Get-CimInstance Win32_StartupCommand).Count}catch{};$prb=$false;try{$prb=[bool](Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending') -or [bool](Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired')}catch{};$pw=$null;try{$psc=powercfg /getactivescheme;if($psc -match '\(([^)]+)\)'){$pw=$matches[1]}}catch{};$sb=$null;try{$sv=Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\State' -ErrorAction SilentlyContinue;if($sv){$sb=[int]$sv.UEFISecureBootEnabled}}catch{};$dsp=@();try{$dsp=@(Get-CimInstance Win32_VideoController|Where-Object{$_.CurrentHorizontalResolution}|ForEach-Object{[pscustomobject]@{w=$_.CurrentHorizontalResolution;h=$_.CurrentVerticalResolution}})}catch{};$rel=@();$sm=@();$tz=$null;$tpmv=$null;if($adm){try{$rel=@(Get-PhysicalDisk|ForEach-Object{$p=$_;$rc=$p|Get-StorageReliabilityCounter -ErrorAction SilentlyContinue;if($rc){[pscustomobject]@{n=$p.FriendlyName;wear=$rc.Wear;poh=$rc.PowerOnHours;temp=$rc.Temperature;rerr=$rc.ReadErrorsTotal;werr=$rc.WriteErrorsTotal}}})}catch{};try{$sm=@(Get-CimInstance -Namespace root/wmi -ClassName MSStorageDriver_FailurePredictStatus -ErrorAction SilentlyContinue|ForEach-Object{[pscustomobject]@{id=[string]$_.InstanceName;fail=[bool]$_.PredictFailure}})}catch{};try{$z=Get-CimInstance -Namespace root/wmi -ClassName MSAcpi_ThermalZoneTemperature -ErrorAction SilentlyContinue|Select-Object -First 1;if($z){$tz=[math]::Round(($z.CurrentTemperature-2732)/10)}}catch{};try{$tt=Get-CimInstance -Namespace root/cimv2/Security/MicrosoftTpm -ClassName Win32_Tpm -ErrorAction SilentlyContinue|Select-Object -First 1;if($tt){$tpmv=[string]$tt.SpecVersion}}catch{}};$r=[pscustomobject]@{tool='CAMT-PCCHECK';v=3;platform='win';pcType=$cs.PCSystemType;chassis=$ch;cpu=$c.Name;cores=$c.NumberOfCores;threads=$c.NumberOfLogicalProcessors;maxClock=$c.MaxClockSpeed;ramGB=[math]::Round($cs.TotalPhysicalMemory/1GB,1);model=(($cs.Manufacturer+' '+$cs.Model).Trim());os=$os.Caption;osBuild=$os.BuildNumber;osInstall=$os.InstallDate.ToString('yyyy-MM-dd');disks=$dk;gpus=$gp;vram=$vr;ramMods=$mm;vols=$vol;batt=$bat;slots=$sl;load=[pscustomobject]@{cpu=$cpuLoad;ram=$ramUsed};procs=$pr;boot=$boot;patch=$patch;av=$av;net=$net;tpm=$tpm;curClock=$c.CurrentClockSpeed;winsat=$ws;commitPct=$commit;startup=$su;pendReboot=$prb;power=$pw;secBoot=$sb;disp=$dsp;admin=$adm;rel=$rel;smart=$sm;cpuTemp=$tz;tpmVer=$tpmv};$j=$r|ConvertTo-Json -Depth 5 -Compress;$j|Set-Clipboard;Write-Host 'COPIED TO CLIPBOARD - go back to the web page and press Ctrl+V' -ForegroundColor Green;$j
1. เปิด PowerShellกดปุ่ม Win แล้วพิมพ์ PowerShell กด Enter
2. วางคำสั่งคลิกขวาในหน้าต่าง PowerShell เพื่อวาง แล้วกด Enter
3. กลับมาที่เว็บนี้ผลลัพธ์ถูกคัดลอกให้อัตโนมัติ มาวางในขั้นที่ 2 ได้เลย
💡 รันได้ 2 แบบ — เลือกได้ตามต้องการ (คำสั่งเดียวกัน):
แบบปกติกดปุ่ม Win พิมพ์ PowerShell กด Enter → ได้ข้อมูลสเปกครบสำหรับประเมินระดับงาน (เพียงพอสำหรับผู้ใช้ทั่วไป)
แบบผู้ดูแลระบบคลิกขวาที่ PowerShell เลือก “Run as administrator” → ได้ข้อมูลสุขภาพเชิงลึกเพิ่ม เช่น อายุการใช้งาน SSD, อุณหภูมิ, สถานะ SMART และรุ่น TPM
ระบบตรวจเองว่ารันแบบไหน แล้วเก็บข้อมูลเพิ่มให้อัตโนมัติเมื่อรันแบบผู้ดูแลระบบ — ไม่บังคับ ถ้ารันแบบปกติก็ประเมินได้ตามปกติ
ความปลอดภัย: คำสั่งนี้อ่านข้อมูลสเปกเท่านั้น ไม่เชื่อมต่ออินเทอร์เน็ต ไม่แก้ไขระบบ ให้รันเฉพาะคำสั่งจากหน้าเว็บของหน่วยงานเท่านั้น อย่ารันคำสั่งจากแหล่งที่ไม่รู้จัก · ไม่มั่นใจว่าคำสั่งทำอะไร? อ่านคำอธิบายแบบเข้าใจง่าย →
2

วางผลลัพธ์จาก PowerShell ที่นี่

คลิกในช่องด้านล่างแล้วกด Ctrl+V ระบบจะอ่านสเปกให้อัตโนมัติ
วางผลด้วย Ctrl+V ระบบจะอ่านสเปกให้อัตโนมัติ แล้วกดปุ่มประเมินในขั้นที่ 3
3

ประเมินผลทั้ง 4 ระดับงานในคราวเดียว

ระบบจะเทียบเครื่องกับเกณฑ์ของทุกระดับงาน พร้อมคำแนะนำใช้ต่อ / อัปเกรด / ทดแทนของแต่ละระดับ
💡 รายงานพิมพ์มีหน้าปกทางการอัตโนมัติ · หากต้องการเลขหน้า/วันที่ทุกหน้า ให้เปิดตัวเลือก "หัวและท้ายกระดาษ (Headers and footers)" ในกล่องพิมพ์ของเบราว์เซอร์
หน่วยคอมพิวเตอร์และพัฒนาระบบ CAMT · ราคาทดแทนอ้างอิงเกณฑ์ราคากลางและคุณลักษณะพื้นฐานการจัดหาอุปกรณ์และระบบคอมพิวเตอร์ กระทรวงดิจิทัลเพื่อเศรษฐกิจและสังคม (ฉบับ ธ.ค. 2568 และฉบับปรับปรุง พ.ค. 2569) · คะแนน CPU เป็นค่าโดยประมาณจากฐาน PassMark · ราคาอัปเกรดเป็นราคาตลาดโดยประมาณ ควรสืบราคาจริงก่อนจัดซื้อ
คัดลอกแล้ว ✓