What makes you think they have an "actual name" like "solonoid" which is machine readable?
The "friendly name" is the name it reports to Windows as a "human friendly" description of the device, and is probably about the best you can hope for.
There is
Win32_SerialPort class (Windows)[
^] which includes a "description" property, but the chances are that is the same as friendly name anyway (in fact it's probably teh source of the "friendly name" that ManagementObject returns).