Ci joint le bout de code qui utilise WMI, la classe Win32_LogicalDisk et la méthode ScheduleAutoChk...
ManagementScope aManagementScope = new ManagementScope("\\\\localhost\\root\\cimv2");
ObjectQuery aObjectQuery = new System.Management.ObjectQuery("select * from Win32_LogicalDisk where DriveType=3");
ManagementObjectSearcher aManagementObjectSearcher = new ManagementObjectSearcher(aManagementScope, aObjectQuery);
ManagementObjectCollection aManagementObjectCollection = aManagementObjectSearcher.Get();
foreach (ManagementObject aManagementObject in aManagementObjectCollection)
{
long FreeSpace = long.Parse(aManagementObject["FreeSpace"].ToString());
long Size = long.Parse(aManagementObject["Size"].ToString());
long UseSpace = Size - FreeSpace;
FreeSpace = FreeSpace / (1<<20); // On veut
UseSpace = UseSpace / (1<<20); // le résultat
Size = Size / (1 << 20); // en Méga Octets