# ديوان — أداة فحص الجهاز (ويندوز) # قراءة فقط: بتجمع مواصفات الجهاز بدقة وتفتح صفحة النتيجة في المتصفح. مفيش أي تعديل على الجهاز ولا رفع بيانات لأي سيرفر؛ # النتيجة بتتحط في رابط الصفحة بس. المصدر: https://banumusa.ai/tools/diwan-check.ps1 $ErrorActionPreference = 'SilentlyContinue' Write-Host '' Write-Host ' ديوان — فحص الجهاز (قراءة فقط)' -ForegroundColor Yellow Write-Host ' ثواني وبيفتح النتيجة في المتصفح...' Write-Host '' $os = Get-CimInstance Win32_OperatingSystem $cs = Get-CimInstance Win32_ComputerSystem $cpu = Get-CimInstance Win32_Processor | Select-Object -First 1 $ramGb = [math]::Round($cs.TotalPhysicalMemory / 1GB, 1) # كروت الشاشة: nvidia-smi الأدق لكروت NVIDIA، وإلا الريجستري (AdapterRAM بيقف عند 4 جيجا) $gpus = New-Object System.Collections.ArrayList $smi = Get-Command nvidia-smi -ErrorAction SilentlyContinue if ($smi) { $lines = & nvidia-smi --query-gpu=name,memory.total --format=csv,noheader,nounits 2>$null foreach ($line in $lines) { $p = "$line" -split ',' if ($p.Count -ge 2) { [void]$gpus.Add(@{ name = $p[0].Trim(); vramGb = [math]::Round([double]$p[1].Trim() / 1024, 1); vendor = 'nvidia' }) } } } if ($gpus.Count -eq 0) { $regKeys = Get-ChildItem 'HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}' -ErrorAction SilentlyContinue | Where-Object { $_.PSChildName -match '^\d{4}$' } foreach ($g in (Get-CimInstance Win32_VideoController)) { $vram = $null foreach ($k in $regKeys) { $p = Get-ItemProperty $k.PSPath -ErrorAction SilentlyContinue if ($p.DriverDesc -eq $g.Name -and $p.'HardwareInformation.qwMemorySize') { $vram = [math]::Round([double]$p.'HardwareInformation.qwMemorySize' / 1GB, 1) } } if (-not $vram -and $g.AdapterRAM) { $vram = [math]::Round($g.AdapterRAM / 1GB, 1) } $vendor = 'none' if ($g.Name -match 'NVIDIA|GeForce|Quadro|RTX|GTX') { $vendor = 'nvidia' } elseif ($g.Name -match 'AMD|Radeon') { $vendor = 'amd' } [void]$gpus.Add(@{ name = "$($g.Name)"; vramGb = $vram; vendor = $vendor }) } } $sysDrive = $env:SystemDrive $disk = Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='$sysDrive'" $diskFreeGb = [math]::Round($disk.FreeSpace / 1GB) # الافتراضية (مطلوبة لـ WSL2 ودوكر على ويندوز) $virt = $null if ($cs.HypervisorPresent) { $virt = $true } elseif ($null -ne $cpu.VirtualizationFirmwareEnabled) { $virt = [bool]$cpu.VirtualizationFirmwareEnabled } $wsl = [bool](Get-Command wsl.exe -ErrorAction SilentlyContinue) $docker = [bool](Get-Command docker -ErrorAction SilentlyContinue) $result = [ordered]@{ v = 1; src = 'diwan-check'; os = 'windows' osName = "$($os.Caption) $($os.Version)".Trim() cpu = "$($cpu.Name)".Trim() cores = [int]$cpu.NumberOfCores threads = [int]$cpu.NumberOfLogicalProcessors ramGb = $ramGb gpus = @($gpus.ToArray()) diskFreeGb = $diskFreeGb virt = $virt; wsl = $wsl; docker = $docker } $json = $result | ConvertTo-Json -Compress -Depth 5 $b64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($json)).TrimEnd('=').Replace('+', '-').Replace('/', '_') $url = "https://banumusa.ai/pc-check.html#r=$b64" Write-Host (' النظام: ' + $result.osName) Write-Host (' المعالج: ' + $result.cpu + ' (' + $result.cores + ' أنوية / ' + $result.threads + ' خيط)') Write-Host (' الرام: ' + $ramGb + ' GB') foreach ($g in $gpus) { Write-Host (' الكارت: ' + $g.name + ' (' + $g.vramGb + ' GB)') } Write-Host (' المساحة: ' + $diskFreeGb + ' GB فاضية على ' + $sysDrive) Write-Host (' الافتراضية: ' + $(if ($virt -eq $true) { 'مفعّلة' } elseif ($virt -eq $false) { 'مش مفعّلة' } else { 'غير معروف' })) Write-Host '' Write-Host ' بيفتح النتيجة في المتصفح...' -ForegroundColor Green Start-Process $url Write-Host (' لو المتصفح ما فتحش، افتح الرابط ده: ' + $url)