🟣 C# / .NET 6+
Get Logical Disks Report (C#)
Queries Win32_LogicalDisk via WMI (System.Management) and prints Logical Disks to the console.
GetLogicalDiskReport.cs
// GetLogicalDiskReport.cs
//
// Reports Logical Disks via WMI (Win32_LogicalDisk).
//
// Requires the System.Management package:
// dotnet new console -o LogicalDiskReport
// dotnet add package System.Management
// (replace the generated Program.cs with this file, then dotnet run)
// On .NET Framework, System.Management is already available — just
// add a reference to it in your project.
using System;
using System.Management;
var searcher = new ManagementObjectSearcher("SELECT DeviceID, VolumeName, Size, FreeSpace, DriveType FROM Win32_LogicalDisk");
int count = 0;
foreach (ManagementObject item in searcher.Get())
{
Console.WriteLine($"DeviceID: {item["DeviceID"]}");
Console.WriteLine($"VolumeName: {item["VolumeName"]}");
Console.WriteLine($"Size: {item["Size"]}");
Console.WriteLine($"FreeSpace: {item["FreeSpace"]}");
Console.WriteLine($"DriveType: {item["DriveType"]}");
Console.WriteLine(new string('-', 40));
count++;
}
if (count == 0)
{
Console.WriteLine("No Logical Disks found.");
}
else
{
Console.WriteLine($"\n{count} Logical Disks found.");
}