SCCM – контроль здоровья дисков


Существует немало утилит, которые показывают состояние диска по технологии S.M.A.R.T. Все они не пригодны для использования в командной строке и скриптах, и, соответственно, в SCCM.

Тем не менее есть внутри Windows средство получения состояния диска – это WMI класс MSStorageDriver_FailurePredictStatus (его описание на текущий момент недоступно по какой-то причине, тем не менее он существует). Этот класс отображает только предупреждение о грядущем отказе диска. На практике этого достаточно для создания Compliance и своевременного реагирования технического персонала для замены диска.

Вот пример создания Compliance. Обратите внимание, что на целевом компьютере дисков может быть несколько и WMI класс возвращает в общем случае не одно, а несколько значений (String Array), и это надо учитывать при анализе (All of):

Существуют также классы для вывода таблиц фактических и пороговых значений S.M.A.R.T., но пользы от них нет без расшифровки, а расшифровка толком до сих пор не стандартизирована и может зависеть от производителя диска. Ниже по ссылкам вы можете найти примеры расшифровки. И если вам нужно, например, следить за температурой дисков конкретного производителя, то в принципе это можно сделать.

Полезные ссылки:

https://gallery.technet.microsoft.com/Get-FailingDrive-a9f8277c

https://learn-powershell.net/2011/08/20/checking-for-failing-hard-drives-using-s-m-a-r-t-and-powershell/

https://blogs.msdn.microsoft.com/san/2011/08/11/have-you-ever-wanted-to-know-if-your-disk-is-going-to-fail-before-it-does/

http://www.cyberforum.ru/csharp-beginners/thread1099026.html

http://itknowledgeexchange.techtarget.com/powershell/smart-disks/

https://social.msdn.microsoft.com/Forums/en-US/af01ce5d-b2a6-4442-b229-6bb32033c755/using-wmi-to-get-smart-status-of-a-hard-disk?forum=vbgeneral

https://blogs.msdn.microsoft.com/jamesfi/2007/01/15/using-wmic-to-check-for-predicted-disk-failure-s-m-a-r-t-analysis/

https://msdn.microsoft.com/en-us/library/windows/hardware/ff560587(v=vs.85).aspx

комментариев 17

  1. У меня проблема при применении подобного Compliance. Вижу ошибку 0x80041005 применения.

    Когда разбирался с параметром PredictFailure WMI через утилиту, оказалось, что что параметр недоступен, не смотря на запуск из-под аккаунта с правами локального админа. Потребовалось запускать ее с UAC (run as administrator), тогда все ок.

    Как заставить агент поступать так же? Или у меня где-то проблемы в начальной настройке?

    • SCCM клиент обычно запускается от учетной записи System — для нее нет проблем с доступом к классам WMI. Если у вас клиент SCCM запушен под иной учетной записью, то ей нужно предоставить соответствующие права на нужный класс WMI.

      • Да ошибся, под отдельным аккаунт агент устанавливается, работает он под system. Тем не менее получаю ошибку:
        0x80041005 Type mismatch.

        При ручном запросе параметров ситуация та, что описана.

        Менять права, конечно, можно. Меня смущает то, что у вас все работает, насколько я понимаю, без специальных телодвижений. Да и глобально это делать …

  2. У меня 5.00.82239.1403 он же 2012 R2 SP1 CU3

  3. Вы тогда тему на Technet-RU создайте для траблешутинга: тут не самое подходящее место для этого.

  4. Тоже получил аналогичную ошибку, отчет ругается на несоответствие типа данных, если посмотреть WMI то у параметра тип Boolean, а на скрине String Array.

    • String Array потому что физических дисков может быть несколько, и запрос вернет не один объект, а несколько. При этом типа Boolean Array нет — есть только String Array. Возможно не во всех версиях SCCM это срабатывает, но всегда можно использовать для запроса скрипт и там точно соблюсти все нюансы.

  5. Илья, пробовали ли вы вот это:
    wmic diskdrive get status

  6. Илья, таки проверил, «Data Type»
    Правильно отрабатывает запрос, когда Data Type = Boolean и несколько дисков в системе. (CCM 1511/1606/1610)

  7. […] SCCM – контроль здоровья дисков. Интересный пример использования SCCM в качестве инструмента для централизованного анализа состояния S.M.A.R.T. на дисках Windows-компьютеров. […]