smartmontools работал хорошо для меня. 
У меня есть материнская плата Asus с RAID-контроллером Intel ICH10R. Два из жестких дисков имеют конфигурацию RAID-1, а два других - обычную настройку без RAID. Я могу запросить любого из них с помощью smartmontools.
Интерфейс командной строки довольно прост в использовании и может быть легко написан на сценарии.
c:\>smartctl --scan
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/sdc -d scsi # /dev/sdc, SCSI device
/dev/csmi0,0 -d ata # /dev/csmi0,0, ATA device
/dev/csmi0,2 -d ata # /dev/csmi0,2, ATA device
/dev/csmi0,3 -d ata # /dev/csmi0,3, ATA device
/dev/csmi0,4 -d ata # /dev/csmi0,4, ATA device
/dev/csmi0,5 -d ata # /dev/csmi0,5, ATA device
Это показывает вам список обнаруженных устройств. В моем случае устройства 5 /dev /csmi0, x соответствуют различным портам SATA на материнской плате.
Вы можете запросить любой из них легко:
c:\>smartctl -a /dev/csmi0,2
smartctl 6.3 2014-07-26 r3976 [x86_64-w64-mingw32-win7-sp1] (sf-6.3-1)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family:     SAMSUNG SpinPoint F2 EG
Device Model:     SAMSUNG HD154UI
Serial Number:    XXXXXXXXXXXXXX
LU WWN Device Id: X XXXXXX XXXXXXXXX
Firmware Version: 1AG01118
User Capacity:    1,500,301,910,016 bytes [1.50 TB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA/ATAPI-7, ATA8-ACS T13/1699-D revision 3b
Local Time is:    Thu Apr 16 21:59:25 2015 PDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
...
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   100   100   015    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0007   070   070   007    Pre-fail  Always       -       9700
  4 Start_Stop_Count        0x0032   098   098   050    Old_age   Always       -       2506
  5 Reallocated_Sector_Ct   0x0033   100   100   051    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   100   100   015    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0025   100   100   037    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0032   097   097   050    Old_age   Always       -       14655
 10 Spin_Retry_Count        0x0033   100   100   051    Pre-fail  Always       -       0
 11 Calibration_Retry_Count 0x0012   100   100   018    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   098   098   050    Old_age   Always       -       2500
 13 Read_Soft_Error_Rate    0x000e   100   100   014    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0032   100   100   050    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   051    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   050    Old_age   Always       -       2
188 Command_Timeout         0x0032   100   100   050    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   067   061   034    Old_age   Always       -       33 (Min/Max 13/33)
194 Temperature_Celsius     0x0022   065   060   034    Old_age   Always       -       35 (Min/Max 13/35)
195 Hardware_ECC_Recovered  0x001a   100   100   026    Old_age   Always       -       767683535
196 Reallocated_Event_Count 0x0032   100   100   050    Old_age   Always       -       0
197 Current_Pending_Sector  0x0012   100   100   018    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   048    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   100   100   062    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x000a   100   099   010    Old_age   Always       -       3
201 Soft_Read_Error_Rate    0x000a   100   100   010    Old_age   Always       -       0
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]
SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
ID № 5 и № 198 представляют особый интерес. Было проведено интересное исследование Google, которое показало, что они являются довольно хорошими показателями относительно того, когда диск собирается выйти из строя.