איך אני יכול לעזור לך?
כלי דיאגנוסטיקה אוטומטי (Diagnostic Toolkit v2.0)
זמן הוא המשאב היקר ביותר של איש תמיכה. במקום לפתוח 5 חלונות שונים (מנהל משימות, הגדרות רשת, מאפייני מערכת וכו') כדי להבין מה מצבו של מחשב תקול, פיתחנו עבורכם סקריפט PowerShell אחד שעושה את הכל. גרסה 2.0 מציגה את הנתונים בצורה צבעונית וקריאה בקונסולה, ובמקביל מייצרת דוח טקסט (TXT) מסודר על שולחן העבודה של הלקוח.
מה הסקריפט סורק?
| מודול בדיקה | מה אנחנו מגלים? |
|---|---|
| מידע מערכת (System) | גרסת מערכת ההפעלה, שם המחשב המדויק, וחשוב מכל: Uptime (זמן פעולה). כך תגלו אם המשתמש שסיפר לכם "בטח שעשיתי ריסטרט הבוקר", למעשה לא כיבה את המחשב כבר 40 יום. |
| חומרה ודיסקים (Hardware) | דגם המעבד, כמות ה-RAM המותקנת, ורשימה של כל הדיסקים הקשיחים הכוללת התראה אם אחד מהם עומד להיסתם. |
| רשת ותקשורת (Network) | כתובת ה-IP המקומית (IPv4), בדיקת קישוריות שקטה לשרתי גוגל (8.8.8.8) כדי לוודא שיש אינטרנט בפועל גם אם סמל ה-Wi-Fi תקין. |
| ביצועים (Performance) | סורק בזמן אמת ושולף את 5 התוכנות העמוסות ביותר שזוללות את ה-CPU ו-5 התוכנות שחונקות את ה-RAM של המחשב. |
הרצת ה-Toolkit v2.0
⚠️ לפני ההפעלה: עקיפת מדיניות חסימת סקריפטים
כברירת מחדל, Windows חוסמת הרצת סקריפטים כהגנה מפני וירוסים (Execution Policy). כדי להריץ את הכלי שלנו, פתחו את PowerShell כמנהל (Run as Administrator), והקלידו קודם את הפקודה הבאה המאפשרת הרצה זמנית רק בחלון הנוכחי:
Set-ExecutionPolicy Bypass -Scope Process -Force
העתיקו את קוד המקור הבא, והדביקו אותו ב-PowerShell (ניתן לשמור אותו גם כקובץ DiagTool.ps1 בדיסק און קי שלכם):
# ====================================================================
# MorNet Diagnostic Toolkit v2.0
# ====================================================================
Clear-Host
$ReportPath = "$([Environment]::GetFolderPath('Desktop'))\Diagnostic_Report.txt"
Start-Transcript -Path $ReportPath -Force | Out-Null
Write-Host "========================================" -ForegroundColor Cyan
Write-Host " MorNet Diagnostic Toolkit v2.0" -ForegroundColor White
Write-Host "========================================" -ForegroundColor Cyan
Write-Host "Date: $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')"
# — 1. System & Uptime —
Write-Host "`n[1] SYSTEM INFORMATION" -ForegroundColor Yellow
$os = Get-CimInstance Win32_OperatingSystem
$uptimeDays = [math]::Round((get-date).Subtract($os.LastBootUpTime).TotalDays, 2)
Write-Host "Computer Name : $($env:COMPUTERNAME)"
Write-Host "OS Version : $($os.Caption)"
Write-Host "System Uptime : $uptimeDays Days"
if ($uptimeDays -gt 14) { Write-Host " -> WARNING: PC hasn't been restarted in over 2 weeks!" -ForegroundColor Red }
# — 2. Hardware Specs —
Write-Host "`n[2] HARDWARE SPECS" -ForegroundColor Yellow
$cpu = Get-CimInstance Win32_Processor | Select-Object -ExpandProperty Name
$ram = [math]::Round((Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory / 1GB, 2)
Write-Host "CPU : $cpu"
Write-Host "RAM : $ram GB"
# — 3. Network —
Write-Host "`n[3] NETWORK CONNECTIVITY" -ForegroundColor Yellow
$ip = (Get-NetIPAddress -AddressFamily IPv4 | Where-Object InterfaceAlias -NotMatch "Loopback|vEthernet").IPAddress -join ", "
Write-Host "IPv4 Address : $ip"
$ping = Test-NetConnection 8.8.8.8 -InformationLevel Quiet
if ($ping) { Write-Host "Internet : ONLINE (Ping to Google OK)" -ForegroundColor Green }
else { Write-Host "Internet : OFFLINE (Ping to Google Failed)" -ForegroundColor Red }
# — 4. Logical Disks —
Write-Host "`n[4] STORAGE (Local Disks)" -ForegroundColor Yellow
Get-CimInstance Win32_LogicalDisk | Where-Object DriveType -eq 3 | Select-Object DeviceID, @{Name="Free(GB)";Expression={[math]::Round($_.FreeSpace/1GB, 2)}}, @{Name="Total(GB)";Expression={[math]::Round($_.Size/1GB, 2)}}, @{Name="Free(%)";Expression={[math]::Round(($_.FreeSpace/$_.Size)*100, 1)}} | Format-Table -AutoSize | Out-String | Write-Host
# — 5. Performance (Top Processors) —
Write-Host "[5] PERFORMANCE (Top 5 CPU Hogs)" -ForegroundColor Yellow
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 Name, CPU, @{Name="RAM(MB)";Expression={[math]::Round($_.WorkingSet/1MB, 1)}} | Format-Table -AutoSize | Out-String | Write-Host
Write-Host "========================================" -ForegroundColor Cyan
Write-Host "Diagnostics Complete!" -ForegroundColor Green
Write-Host "A text report has been saved to your Desktop." -ForegroundColor White
Stop-Transcript | Out-Null
מה עושים עם התוצאות?
- אם זיהיתם בעיית Uptime: בקשו מהמשתמש לבצע "הפעלה מחדש" (Restart) אמיתית. שימו לב: כיבוי והדלקה (Shut down) לא מאפס את ה-Uptime ב-Windows 10/11 בגלל מנגנון ה-Fast Startup.
- אם כונן המערכת מתחת ל-15% פנוי: מערכת ההפעלה תתחיל לזחול (בגלל חוסר יכולת להשתמש ב-Pagefile הווירטואלי). פנו מקום באמצעות פקודת
cleanmgr. - שמירת התיעוד: בסיום הריצה, תמצאו קובץ בשם
Diagnostic_Report.txtעל שולחן העבודה. צרפו אותו לקריאת השירות (Ticket) במערכת כדי ששאר חברי הצוות יראו את "תעודת הזהות" של המחשב ללא צורך לשאול את הלקוח.