2016-09-15 64 views
0

我需要獲取包含系統卷(通常爲C :)的磁盤的一些信息(型號和序列號)。我正在使用此查詢:WMI查詢選擇包含系統卷的磁盤

SELECT * FROM Win32_DiskDrive WHERE Index=0 

我的問題是,索引= 0的磁盤總是包含系統卷的磁盤?

編輯:我增加了一個額外的查詢來獲取包含引導分區的磁盤的索引:

SELECT * FROM Win32_DiskPartition WHERE BootPartition=True 

那麼最初的查詢修改

SELECT * FROM Win32_DiskDrive WHERE Index={diskIndex} 

我想我會這樣很安全。爲更好的解決方案建議,隨時歡迎:)

回答

0

如前所述,添加一個額外的查詢來獲取包含引導分區的磁盤的索引:

{diskIndex} = SELECT * FROM Win32_DiskPartition WHERE BootPartition=True 
SELECT * FROM Win32_DiskDrive WHERE Index={diskIndex} 

不幸的是WMI似乎並不支持連接,這會使查詢效率更高一點。