Tôi đã cố gắng để có được thông tin ổ đĩa của các máy từ xa, bao gồm cả việc có bật SMART hay không trên ổ đĩa bằng cách sử dụng lớp win32_diskdrive.
Điều này là khó khăn hơn tôi nghĩ. Mặc dù việc đọc thuộc tính trạng thái đủ dễ dàng nhưng tôi đã phát hiện ra một điều thú vị trong thuộc tính Khả năng - cụ thể là giá trị biểu thị nếu "Thông báo SMART" khả dụng. Giá trị này sẽ không xuất hiện trừ khi lệnh được chạy trong bối cảnh bảo mật nâng cao. Vì vậy, ví dụ nếu tôi chạy (gwmi win32_diskdrive). Khả năng giá trị SMART (10) chưa xuất hiện trong mảng các giá trị nếu tôi chạy nó trong dấu nhắc nâng cao thì nó sẽ xuất hiện. Theo như tôi biết, bạn không thể chạy một phiên winrm trong bối cảnh nâng cao (và tôi không quan tâm đến các bản hack scht task cheesy hoặc psexec).
Vì vậy, sau đó tôi đã cố gắng ánh xạ win32_diskdrive sang lớp MSStorageDriver_FailurePredictStatus. Tôi nghĩ rằng dù sao tôi cũng sẽ phải làm điều này bởi vì ngay cả khi SMART xuất hiện trong thuộc tính Khả năng không nhất thiết có nghĩa là nó được kích hoạt phải không?
Tôi đã ánh xạ thuộc tính PNPDeviceID của win32_diskdrive sang thuộc tính InstanceName của MSStorageDriver_FailurePredictStatus, nhưng bây giờ vấn đề của tôi là tôi không nghĩ rằng thuộc tính InstanceName đủ để nó hoạt động. Ví dụ ở đây là InstanceName của tôi:IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_0
Nó hiển thị loại giao diện (IDE) số kiểu máy (ST3250312AS) phiên bản phần sụn (JC47) mà tôi nghĩ là một mã định danh duy nhất của một loại ( 5&350bf0c3&0&0.0.0
) sau đó trông giống như một số chỉ mục (_0). Khi tôi google, 5&350bf0c3&0&0.0.0
nó sẽ xuất hiện một số thông tin trên ổ đĩa vì vậy tôi không nghĩ con số này là duy nhất. Điều đó có nghĩa là tính duy nhất nằm trong số chỉ mục không được bao gồm trong thuộc tính PNPDeviceID của lớp win32_diskdrive. Đây là một vấn đề vì nhiều máy chủ của chúng tôi có nhiều đĩa giống hệt nhau.
Mối quan tâm của tôi là MSStorageDriver_FailurePredictStatus
sẽ đại diện cho nhiều đĩa như thế này:
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_0
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_1
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_2
Và thuộc tính PNPDeviceID của win32_diskdrive của tất cả chúng sẽ chỉ là
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0
Làm cách nào tôi có thể ánh xạ các đối tượng đáng tin cậy được truy xuất từ win32_diskdrive sang MSStorageDriver_FailurePredictStatus
hoặc thực hiện theo cách khác với powershell thông qua các phiên từ xa?
Chỉnh sửa :
Chà có vẻ như tôi đã phản ứng quá mức. Khi tôi kiểm tra một loạt các máy chủ, tôi thấy InstanceNames \ PNPDeviceID như thế này:
SCSI\Disk&Ven_TOSHIBA&Prod_MBF2600RC\5&354ecb35&0&000200_0
SCSI\Disk&Ven_TOSHIBA&Prod_MBF2600RC\5&354ecb35&0&000300_0
Nếu không ai có thể kết luận chắc chắn điều này, trong một ngày hoặc lâu hơn, tôi sẽ chỉ cho rằng giá trị này thực sự là duy nhất và đánh dấu đây là "câu trả lời".