I have found another glitch and have fixed it there was an undocumented GUID for network cards so I added that.
I have also found a way using WMI Query Language (WQL) to speed up the process of finding the proper device. it has given the process a HUGE speed boost. Instead of me calling WMI for all devices of a specific type and then checking each device for a matching Vendor ID I noticed that the Vendor ID was also apart of the PNPDeviceID and I learned how to use the WQL to have the SQL backend of WMI check to see if the Vendor ID is apart of the PNPDeviceID and to return devices that are. Since WMI has to iterate through all the devices any ways to select the ones i want may as well have it check for the proper ID while it's doing it. instead of having to roll through all the devices and then roll through the ones it returns looking for the device i want.
I am still testing it to make sure its good...
I am also thinking about splitting it off from the System plugin. I want to do this because I just added 2 more actions. enabling and disabling network cards. I want to expand this to blueteeth devices. and unmounting of drives. because of how many things the system plugin already does. this is going to make it overly complicated and would also cause me to have a lot of repeat code. So by moving it into it's own plugin I feel would be the right way to go.
A loved one and Time, The 2 things that can never be replaced.
Family, The only thing you don't get to choose in life.