Is it possible to use a regex that converts everything that isn't in a valid character class to "_" instead of only certain characters? That would make this more future proof, and the entire justification for the way that this class is implemented using dynamically defined methods really comes down to future-proofing so we don't have to change the code every time there is a new version of Windows.

Outside of this particular bug, I think it may make sense to deprecate this class -- I see several logistical problems with the way it is implemented, specifically I'm not sure how you can rely on a method existing in this class if you're running on a downlevel OS unless the underlying WMI provider is somehow dynamically querying new Windows versions as they are released. Even if they are, such an update is unlikely to be realtime, so there would be a window where method calls would fail.