לדלג לתוכן

2.5 ממשק WMI פתרון

פתרון: מערכת ניהול משאבים עם WMI ב-PowerShell

חלק 1: הצגת פרטי מערכת

# גרסת מערכת ההפעלה
$os = Get-WmiObject -Class Win32_OperatingSystem
Write-Host "מערכת הפעלה: $($os.Caption) גרסה: $($os.Version)"

# מידע על המעבד
$cpu = Get-WmiObject -Class Win32_Processor
Write-Host "מעבד: $($cpu.Name), מהירות: $($cpu.MaxClockSpeed) MHz, ליבות: $($cpu.NumberOfCores)"

# כמות הזיכרון הפיזי
$memory = Get-WmiObject -Class Win32_PhysicalMemory
$totalMemory = ($memory.Capacity | Measure-Object -Sum).Sum / 1GB
Write-Host "זיכרון פיזי: $([math]::round($totalMemory, 2)) GB"

# מידע על הדיסק הקשיח
$disk = Get-WmiObject -Class Win32_LogicalDisk -Filter "DriveType=3"
$disk | ForEach-Object {
    Write-Host "דיסק: $($_.DeviceID), נפח: $([math]::round($_.Size / 1GB, 2)) GB, מקום פנוי: $([math]::round($_.FreeSpace / 1GB, 2)) GB"
}

חלק 2: מעקב אחר תהליכים

# הצגת תהליכים רצים
$processes = Get-WmiObject -Class Win32_Process
$processes | Select-Object Name, ProcessId, @{Name="CPU";Expression={($_.PercentProcessorTime)}}, @{Name="MemoryUsage";Expression={($_.WorkingSetSize / 1MB)}}

# עצירת תהליך על פי PID
$pid = Read-Host "הכנס PID של תהליך שברצונך להפסיק"
Stop-Process -Id $pid
Write-Host "תהליך $pid הופסק."

חלק 3: התראות על שימוש במעבד

# בדיקת שימוש במעבד
$cpuUsage = Get-WmiObject -Class Win32_Processor
if ($cpuUsage.LoadPercentage -gt 80) {
    Write-Host "שימוש במעבד גבוה: $($cpuUsage.LoadPercentage)%"
}

חלק 4: ניהול שירותים

# הצגת שירותים ריצים
$services = Get-WmiObject -Class Win32_Service
$services | Select-Object Name, State, StartMode

# הפעלת או עצירת שירות
$serviceName = Read-Host "הכנס שם שירות להפסיק או להפעיל"
$action = Read-Host "האם ברצונך להפעיל או להפסיק את השירות? (start/stop)"

if ($action -eq "start") {
    Start-Service -Name $serviceName
    Write-Host "השירות $serviceName הופעל."
} elseif ($action -eq "stop") {
    Stop-Service -Name $serviceName
    Write-Host "השירות $serviceName הופסק."
}

הסבר כללי:

  • חלק 1: קוד זה מבצע שאילתות WMI כדי להוציא מידע על מערכת ההפעלה, המעבד, הזיכרון והדיסק הקשיח.
  • חלק 2: מציג את התהליכים הרצים במערכת ומאפשר להפסיק תהליך על פי PID שנבחר על ידי המשתמש.
  • חלק 3: בודק אם השימוש במעבד עולה על 80% ומציג התראה אם כן.
  • חלק 4: מציג את השירותים הרצים במערכת ומאפשר למשתמש להפעיל או להפסיק שירותים מסוימים.