Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Узнать RPM жесткого диска?

Ответить
Настройки темы
PowerShell - Узнать RPM жесткого диска?

Пользователь


Сообщения: 144
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день.
Точно не уверен, но может эта информация где-то в этом классе?

Код: Выделить весь код
$Disk = Get-WmiObject -Class MSStorageDriver_ATAPISmartData -Namespace 'Root\Wmi'
$Disk.VendorSpecific
Кто-нибудь знает как узнать скорость вращения ж\д используя ps\cmd?

Отправлено: 15:10, 27-02-2017

 

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Что из себя представляет класс MSStorageDriver_ATAPISmartData? Запускаем обозрезатель WMI и видим:
Код: Выделить весь код
MSStorageDriver_ATAPISmartData
----------------------------------------------------------------------------------------------------
Данные ATAPI SMART

...

VendorSpecific(Type: UInt8, Local: True, Array: True)
Данные предсказания ошибок, от производителя

...
То есть, в VendorSpecific хранятся данные S.M.A.R.T. как то, например, температура HDD, которая по идее должна вычисляться примерно так:
Код: Выделить весь код
@echo off
  setlocal
    set "wmi=wmic /namespace:\\root\wmi path"
    set "wmi=%wmi% MSStorageDriver_ATAPISmartData"
    set "wmi=%wmi% get VendorSpecific /value"
    for /f "tokens=2 delims=}{" %%i in ('%wmi%') do (
      set "smart=%%i"
    )
    rem 151 байт для WinXP, 127 - Win7
    call:getbyte 127 %smart%
  endlocal
exit /b

:getbyte
  for /l %%i in (1, 1, %1) do shift
  echo:HDD temperature: %2C
exit /b
Что же касается скорости вращения, если Вы конечно не подразумеваете под ней раскрутку шпинделя, то здесь Вы ее не найдете. Для этого Вам придется прибегруть либо к счетчикам производительности, вычисляя соотношение обмена данных с диском из значения, получаемого через:
Код: Выделить весь код
typeperf "\Физический диск(_Total)\Скорость обмена с диском (байт/сек)"
либо обратиться к WinAPI, конкретно - DeviceIoControl (или комбинации NTAPI'шных функций, как NtQuerySystemInformation, NtDeviceIoControlFile и т.д.).

Последний раз редактировалось greg zakharov, 28-02-2017 в 20:25.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:41, 27-02-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Узнать RPM жесткого диска?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
HDD - Ошибки жесткого диска. sandy15 Накопители (SSD, HDD, USB Flash) 31 26-07-2016 11:27
драйвер жесткого диска nickish008 Поиск драйверов, прошивок и руководств 7 06-11-2012 04:26
HDD - Скорость жесткого диска))) magsim Накопители (SSD, HDD, USB Flash) 22 03-04-2009 21:33
HDD - как узнать дату выпуска жесткого диска? LRC Накопители (SSD, HDD, USB Flash) 2 27-02-2009 17:36
Форматирование жесткого диска CarTerelserv Хочу все знать 3 24-11-2006 00:53




 
Переход