Is there any way of detecting if a drive is a SSD?

前端 未结 9 2045
面向向阳花
面向向阳花 2020-11-30 03:02

I\'m getting ready to release a tool that is only effective with regular hard drives, not SSD (solid state drive). In fact, it shouldn\'t be used with SSD\'s because it will

9条回答
  •  眼角桃花
    2020-11-30 03:34

    I wrote the following javascript code. I needed to determine if machine was ussing SSD drive and if it was boot drive. The solution uses MSFT_PhysicalDisk WMI interface.

    function main()
    {
        var retval= false;
        // MediaType - 0 Unknown, 3 HDD, 4 SSD
        // SpindleSpeed - -1 has rotational speed, 0 has no rotational speed (SSD)
        // DeviceID - 0 boot device
        var objWMIService = GetObject("winmgmts:\\\\.\\root\\Microsoft\\Windows\\Storage");
        var colItems = objWMIService.ExecQuery("select * from MSFT_PhysicalDisk");  
        var enumItems = new Enumerator(colItems);
        for (; !enumItems.atEnd(); enumItems.moveNext()) 
        {
            var objItem = enumItems.item();
            if (objItem.MediaType == 4 && objItem.SpindleSpeed == 0)
            {
                if (objItem.DeviceID ==0)
                {
                    retval=true;
                }
            }
        }
        if (retval)
        {
            WScript.Echo("You have SSD Drive and it is your boot drive.");
        }
        else
        {
            WScript.Echo("You do not have SSD Drive");
        }
        return retval;
    }
    main();
    

提交回复
热议问题