Nhận thông tin về Sức khỏe Hệ thống qua PowerShell


0

Có thể lấy trạng thái Sức khỏe Hệ thống qua PowerShell không? Thông tin như Sử dụng CPU, RAM đã sử dụng, nhiệt độ CPU, v.v.

Câu trả lời:


2

Vì PowerShell có thể tạo Đối tượng .NET Framework , tôi muốn giới thiệu lớp PerformanceCorer cho tác vụ này.

Lớp này có thể gây rắc rối khi làm việc, nhưng cung cấp hầu hết các chức năng bạn cần.

Đối với Danh sách các danh mục bạn có thể nhận được chỉ cần gọi GetCategories()phương thức tĩnh :

[System.Diagnostics.PerformanceCounterCategory]::GetCategories()

Để giúp bạn bắt đầu, tôi đã viết một minh chứng nhỏ:

$pc_prc = new-object System.Diagnostics.PerformanceCounter("Processor", "% Processor Time", "_Total")
$pc_ram = new-object System.Diagnostics.PerformanceCounter("Memory", "Available MBytes")

while(1) {
    $time = get-date
    echo ======================
    echo $time
    echo ======================
    $pc_prc_value = $pc_prc.NextValue()
    $pc_ram_value = $pc_ram.NextValue()
    echo " + Processor Load:   $pc_prc_value %"
    echo " + Available Memory: $pc_ram_value MB"
    sleep 1
}

Lưu ý rằng PerformanceCounterlớp không hỗ trợ dữ liệu nhiệt độ CPU truy xuất vì quy trình đó phụ thuộc nhiều vào kiến ​​trúc.

Kiểm tra Câu hỏi SO này để biết thêm thông tin.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.