我需要查询 System Center Configuration Manager(当前分支,版本 1606)以获取有关客户端计算机的磁盘、分区和卷的信息。
但是,似乎没有任何方法可以将逻辑磁盘与物理磁盘和分区关联起来;这些数据在资源管理器中呈现为三个不同的类,甚至相应的数据库表和视图也无法将逻辑磁盘链接到物理磁盘和分区(而分区至少可以链接到其物理磁盘)。
不幸的是,这似乎是 Windows 系统中的一个众所周知的问题,即使使用 WMI 也很难解决:
https://blogs.technet.microsoft.com/heyscriptingguy/2005/05/23/how-can-i-correlate-logical-drives-and-physical-disks
https://stackoverflow.com/questions/4822559/powershell-and-wmi-how-to-map-logical-disk-volumes-to-a-hard-disk-or-vice-versa
这真的这么难吗?是否有可能从 SCCM 中检索逻辑磁盘列表以及它们所在的物理磁盘和分区?
答案1
SCCM 不会自行检索此信息,但有一个 WMI 类可以公开它:Win32_LogicalDiskToPartition。
该类需要添加到 SCCM 的硬件清单配置中;检索数据后,就可以使用它们将逻辑磁盘连接到物理分区;需要进行一些字符串操作,因为该类以以下格式公开分区和磁盘:
\\HOSTNAME\root\cimv2:Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
\\HOSTNAME\root\cimv2:Win32_LogicalDisk.DeviceID="C:"
答案2
请参考以下查询:
Select * from v_GS_DISK
Select * from v_GS_PARTITION
Select * from v_GS_LOGICAL_DISK
Select di.DeviceID0,pa.DeviceID0,ld.DeviceID0,* from v_GS_LOGICAL_DISK LD
inner join v_GS_PARTITION PA
ON LD.ResourceID=PA.ResourceID
inner join v_GS_DISK DI
ON DI.ResourceID=PA.ResourceID