Added modules from WinAPI

This commit is contained in:
Lifailon 2024-01-29 23:41:19 +03:00
parent 56da334ea2
commit b709d7e96b
24 changed files with 657 additions and 125 deletions

22
Scripts/Get-Smart.psm1 Normal file
View file

@ -0,0 +1,22 @@
function Get-Smart {
$PhysicalDisk = Get-CimInstance -Namespace root/Microsoft/Windows/Storage -ClassName MSFT_PhysicalDisk
$DiskSensor = $PhysicalDisk | Get-StorageReliabilityCounter
$DiskSensor | Select-Object @{Label="DiskName"; Expression={$PhysicalDisk | Where-Object DeviceId -eq $_.DeviceId | Select-Object -ExpandProperty FriendlyName}},
Temperature,
@{Label="HealthStatus"; Expression={$PhysicalDisk | Where-Object DeviceId -eq $_.DeviceId | Select-Object -ExpandProperty HealthStatus}},
@{Label="OperationalStatus"; Expression={$PhysicalDisk | Where-Object DeviceId -eq $_.DeviceId | Select-Object -ExpandProperty OperationalStatus}},
@{Label="MediaType"; Expression={$PhysicalDisk | Where-Object DeviceId -eq $_.DeviceId | Select-Object -ExpandProperty MediaType}},
@{Label="BusType"; Expression={$PhysicalDisk | Where-Object DeviceId -eq $_.DeviceId | Select-Object -ExpandProperty BusType}},
PowerOnHours, # Количество часов, в течение которых жесткий диск был во включенном состоянии
StartStopCycleCount, # Количество циклов включения и выключения жесткого диска (каждый цикл выключения и последующего включения считается за один раз)
FlushLatencyMax, # Максимальное время задержки (латентность) для операций очистки кэша на диске (сброса кеша на диск).
LoadUnloadCycleCount, # Количество циклов загрузки/выгрузки механизма парковки головок на жёстких дисках с перемещающимися головками (не относится к SSD)
ReadErrorsTotal, # Общее количество ошибок чтения данных с диска
ReadErrorsCorrected, # Количество ошибок чтения, которые были исправлены системой коррекции ошибок
ReadErrorsUncorrected, # Количество ошибок чтения, которые не удалось исправить
ReadLatencyMax, # Максимальная задержка (латентность) при чтении данных с диска
WriteErrorsTotal,
WriteErrorsCorrected,
WriteErrorsUncorrected,
WriteLatencyMax
}