After adding Win32_Volume to Hardware Inventory, capacity and free space not being updated for all volumes

Evening all,

I need SCCM to include information from the Win32_Volume class in the hardware inventory in order to capture free space information from mount point volumes.

After updating the Default Client Settings to include the Win32_Volume class I am not seeing the information that I would expect. When I query against the Volume hardware inventory information, the Capacity and FreeSpace fields are only populated for those volumes that have drive letters assigned.

Has anyone seen this before? Any suggestions about how to re

August 3rd, 2015 6:07pm

Have you directly queried WMI for the class on some systems to see what data is returned on them? ConfigMgr only collects what's available via WMI.
Free Windows Admin Tool Kit Click here and download it now
August 3rd, 2015 7:48pm

Yes. Direct query via WMI returns the expected information for all volumes.
August 3rd, 2015 8:00pm

Then your next step is to see exactly what hardware inventory is doing on your clients. This blog should help you get going with that:

http://www.enhansoft.com/blog/troubleshooting-inventory-flow

Also, when you say "When I query against the Volume hardware inventory information", what exactly are you querying and how?

Free Windows Admin Tool Kit Click here and download it now
August 3rd, 2015 8:02pm

Thanks, I will review that article.

In the Queries part of the SCCM console I have the following query:

select SMS_G_System_VOLUME.Capacity,
SMS_G_System_VOLUME.Caption,
SMS_G_System_VOLUME.Freespace,
SMS_G_System_VOLUME.Label,
SMS_G_System_VOLUME.Name,
SMS_G_System_VOLUME.SystemName
 from  SMS_R_System
 inner join SMS_G_System_VOLUME on SMS_G_System_VOLUME.ResourceId = SMS_R_System.ResourceId
 where SMS_G_SYSTEM_VOLUME.SystemName = "hsfile1"
 order by SMS_G_System_VOLUME.*

When I run this query, the Capacity and FreeSpace columns are only populated it seems for volumes which have a drive letter assigned and which have a Label. Although in the query I limit the scope to a single machine, I am having this problem with the inventory information for every machine.

Querying WMI on the same machine directly using PowerShell (gwmi win32_volume -ComputerName hsfile1 | select Capacity,Caption,FreeSpace,Label,Name) returns the expected inform

August 4th, 2015 10:15am

Interesting. I can't explain that so you should definitely do some digging and troubleshooting on the client itself.

Free Windows Admin Tool Kit Click here and download it now
August 4th, 2015 10:22am

What does your mof edit look like?
August 4th, 2015 10:23am

Have you gone into SQL itself and dumped the data from the actual view?
Free Windows Admin Tool Kit Click here and download it now
August 4th, 2015 10:26am

I didn't make any MOF edits (at least not directly). I went into the Default Client Settings configuration, and under Hardware Inventory, Hardware inventory classes and I checked the box for Volume / win32_volume.

I don't know what changes that actually made, but it's what I did in the past when I needed another WMI class added to the hardware inventory.

August 4th, 2015 10:33am

Not sure exactly what you mean by dumping the data from the view, but this is what I did:

In SQL Management Studio drilled into my SCCM database and found the dbo.VOLUME_DATA table, then right-click and select option for "SELECT Top 1000 Rows".

The results from that appear to mimic what I am seeing in the SCCM console itself. Many (most) of the fields in the Capacity00 and FreeSpace00 columns say "NULL".

Free Windows Admin Tool Kit Click here and download it now
August 4th, 2015 10:43am

Yep, that's what I meant. Just ruling out the possibility of your inner join getting the way or WQL doing something odd. That pretty much narrows it down to a collection issue (or possibly a ConfigMgr inventory import issue) which takes us back to Garth's article I linked to above :-)

August 4th, 2015 10:45am

If I remember right, if you use the interface to add(create) the mof edit, it creates it incorrectly for that WMI class (only).

You need to manually edit it. Since this is a default class, and I don't recommend editing the default classes, you will need to create a new class for this data and you will need to set a few CM12 flags in order to collect the data correctly.

One of my team is working on this issue (plus a few others), if you contract me off-line, I will see about getting you access to the beta of this.

Free Windows Admin Tool Kit Click here and download it now
August 4th, 2015 11:14am

One other thing you can do here is to compare the values for those two fields where it is missing and where it is not. In all cases, are those values much larger? If so then this is perhaps the real reason for them not being there and the drive letter is simply a coincidence.
August 4th, 2015 11:38am

I'm running into this as well. Can you share what "CM12 flags" need to be set to get this to work?

Thanks!

Free Windows Admin Tool Kit Click here and download it now
September 2nd, 2015 4:52pm

In the definition of the class in hardware inventory, you need to change the value type for that field to something that holds a larger number. I don't think you can change this after adding the class though so you'll first have to delete the class and re-add it and then edit the field during the add.
September 2nd, 2015 6:55pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics