win32_diskdrive 클래스를 사용하여 드라이브에서 SMART를 사용할 수 있는지 여부를 포함하여 원격 컴퓨터의 디스크 정보를 얻으려고했습니다.
생각보다 까다 롭습니다. status 속성을 읽는 것이 쉽지만 Capabilities 속성에서 흥미로운 것을 발견했습니다. 즉 "SMART Notification"을 사용할 수 있는지 여부를 나타내는 값입니다. 높은 보안 컨텍스트에서 명령을 실행하지 않으면이 값이 나타나지 않습니다. 예를 들어 (gwmi win32_diskdrive) .Capabilities를 실행하면 SMART 값 (10)이 값 배열에 나타나지 않지만 상승 된 프롬프트에서 실행하면 나타납니다. 내가 아는 한 높은 컨텍스트에서 winrm 세션을 실행할 수 없습니다 (그리고 나는 cheschy schtasks hacks 또는 psexec에 관심이 없습니다).
그런 다음 win32_diskdrive를 MSStorageDriver_FailurePredictStatus 클래스에 매핑하려고 시도했습니다. SMART가 Capabilities 속성에 나타나더라도 반드시 활성화 된 권한을 의미하지는 않기 때문에이 작업을 수행해야한다고 생각합니다.
win32_diskdrive의 PNPDeviceID 속성을 MSStorageDriver_FailurePredictStatus의 InstanceName 속성에 매핑하고 있었지만 이제는 InstanceName 속성이 고유 한 것으로 생각하지 않는다는 문제가 있습니다. 예를 들어 여기 내 인스턴스 이름이 있습니다.IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_0
인터페이스 유형 (IDE) 모델 번호 (ST3250312AS) 펌웨어 버전 (JC47)이 어떤 종류의 고유 식별자라고 생각한 것 ( 5&350bf0c3&0&0.0.0
)과 색인 번호 (_0)처럼 보이는 것을 보여줍니다. Google 5&350bf0c3&0&0.0.0
에서 드라이브의 일부 정보를 표시 하므로이 숫자가 고유하지 않다고 생각합니다. 즉, 고유성이 win32_diskdrive 클래스의 PNPDeviceID 특성에 포함되지 않은 색인 번호에 있음을 의미합니다. 많은 서버에 여러 개의 동일한 디스크가 있기 때문에 문제가됩니다.
내 관심사는 MSStorageDriver_FailurePredictStatus
다음과 같은 여러 디스크를 나타냅니다.
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
그리고 win32_diskdrive의 PNPDeviceID 속성은 모두
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0
win32_diskdrive에서 검색된 객체 MSStorageDriver_FailurePredictStatus
를 원격 세션을 통해 powershell로 다른 방법으로 안정적으로 매핑 하거나 다른 방법으로 수행 할 수 있습니까?
편집 :
글쎄, 내가 과잉 반응하고있는 것 같습니다. 여러 서버를 확인했을 때 다음과 같이 InstanceNames \ PNPDeviceID를 찾았습니다.
SCSI\Disk&Ven_TOSHIBA&Prod_MBF2600RC\5&354ecb35&0&000200_0
SCSI\Disk&Ven_TOSHIBA&Prod_MBF2600RC\5&354ecb35&0&000300_0
아무도 이것을 확정적으로 확인할 수 없다면, 하루 만에이 값이 실제로 고유하다고 가정하고 이것을 "답변"으로 표시합니다.