Назад | Перейти на главную страницу

Как сопоставить логические диски с физическими дисками и разделами в SCCM?

Мне нужно запросить 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 список логических дисков и физические диски и разделы, на которых они находятся?

SCCM не получает эту информацию сам по себе, но существует класс WMI, предоставляющий ее: Win32_LogicalDiskToPartition.

Этот класс необходимо добавить в конфигурацию инвентаризации оборудования SCCM; после получения данных появляется возможность использовать их для присоединения логических дисков к физическим разделам; требуется некоторая обработка строк, потому что класс предоставляет разделы и диски в следующем формате:

\\HOSTNAME\root\cimv2:Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
\\HOSTNAME\root\cimv2:Win32_LogicalDisk.DeviceID="C:"

Пожалуйста, обратитесь к следующему запросу:

  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