【问题标题】:Windows WMI: How to detect fixed disk drive is virtualWindows WMI:如何检测固定磁盘驱动器是虚拟的
【发布时间】:2016-02-11 10:11:51
【问题描述】:

虚拟是指使用 SUBST cmd 创建的 例如 SUBST Z: C:\SomeFolder\OtherFldr

我可以在 WMI 中找到的最佳方法是利用虚拟驱动器不会与分区关联这一事实。

即当:

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID='C:'} 
WHERE AssocClass=Win32_LogicalDiskToPartition

将为C: 返回相关的Win32_DiskPartition

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID='Z:'} 
WHERE AssocClass=Win32_LogicalDiskToPartition"

不会返回任何内容。

有人知道更好的方法吗?

我的项目使用 C++,但欢迎使用 C#、VBS、PowerShell 的建议,因为主体通常是相同的。

【问题讨论】:

  • 必须是WMI吗?你可以使用QueryDosDevice (msdn.microsoft.com/en-us/library/windows/desktop/…)
  • 不一定是 WMI。我正在为 WMI 提供我需要的一切的每个磁盘收集一组信息。虽然我所做的工作是将磁盘检测为虚拟磁盘,但我感觉应该有一种更直接的方法,例如我看过的某个表中的某些列。

标签: c# c++ vbscript wmi


【解决方案1】:

看起来像是GetVolumeNameForVolumeMountPoint 的工作。在您的示例中,Z: 不是卷安装点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-15
    • 2015-04-28
    • 2010-09-14
    • 1970-01-01
    • 2010-10-05
    • 2014-02-10
    • 2010-11-08
    相关资源
    最近更新 更多