>oWMI = Getobject("WINMGMTS:\\.\ROOT\Microsoft\Windows\Storage") >>
>oWMI = Getobject("WINMGMTS:\\.\ROOT\Cimv2") >>
>win = oWMI.instancesof("MSFT_PhysicalDisk") >? win.Count && OLE error: invalid class >win = oWMI.InstancesOf("MSFT_PhysicalDisk", 1) && OLE error: invalid class > >win = oWMI.instancesof("MSFT_VirtualDisk") >? win.Count && same error > >win = oWMI.instancesof("MSFT_Disk") >? win.Count && same error >>
>>*adapted from http://wutils.com/wmi/root/microsoft/windows/storage/msft_physicaldisk/vbscript-samples.html >>*can try other properties of MSFT_PhysicalDisk class >> >>Create Cursor ycurs (allocateSize c(20),mediaType c(2), FriendlyName c(20),PhysicalLocation c(20),Size c(20),healthStatus c(2) ) >> >>Local oWMI, Instances, Instance >>*Get base WMI object, "." means computer name (local) >>oWMI = Getobject("WINMGMTS:\\.\ROOT\Microsoft\Windows\Storage") >>*Get instances of MSFT_PhysicalDisk - all instances of this class and derived classes >>Instances = oWMI.InstancesOf("MSFT_PhysicalDisk") >>*Get instances of MSFT_PhysicalDisk >>Instances = oWMI.InstancesOf("MSFT_PhysicalDisk", 1) >> >>*Enumerate instances >>For Each Instance In Instances >> *Do something with the instance >> Insert Into ycurs Values (; >> trans(Instance.AllocatedSize),; >> trans(Instance.mediaType),; >> Instance.FriendlyName,; >> Instance.PhysicalLocation,; >> trans(Instance.Size),; >> trans(Instance.healthStatus); >> ) >> >>Next &&Instance >>Brow >> >>*!* MediaType >>*!* Data type: UInt16 >>*!* Access type: Read-only >>*!* The media type of the physical disk. >>*!* Value Meaning >>*!* 0 Unspecified >>*!* 3 HDD >>*!* 4 SSD >>*!* 5 SCM >>>>
strComputer = "." objWMIService = GetObject("winmgmts:" + "{impersonationLevel=impersonate}!\\" + strComputer + "\root\cimv2") colDisks = objWMIService.ExecQuery("Select * from Win32_LogicalDisk") For Each objDisk in colDisks ?"DeviceID: "+ objDisk.DeviceID DO case CASE objDisk.DriveType= 1 ? "No root directory. " + "Drive type could not be " + "determined." Case objDisk.DriveType=2 ? "DriveType: " + "Removable drive." Case objDisk.DriveType=3 ? "DriveType: "+ "Local hard disk." CASE objDisk.DriveType= 4 ? "DriveType: " + "Network disk." CASE objDisk.DriveType= 5 ? "DriveType: " + "Compact disk." CASE objDisk.DriveType= 6 ? "DriveType: "+ "RAM disk." OTHERWISE ? "Drive type could not be" + " determined." EndCase ENDFOR