Fix: wmic deprecated and removed in recent Windows versions
#245
+178
−5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #228
Microsoft removed
wmicfrom Windows 11 24H2+, causingreact/dnsto crash when detecting DNS servers. This keeps wmic as the primary method on Windows, with PowerShell as a fallback for newer systems.This way around, because wmic is still a tad faster than the PowerShell execution. 🐌
The PowerShell fallback also filters out deprecated
fec0::site-local IPv6 addresses that Windows returns for interfaces without explicit DNS - these don't actually resolve anything and would cause timeouts. (Windows. Wow.)Updated tests accordingly.
I also tested this in a dev version of our tool expose, worked as expected on Windows VM & real machine :)
It would be nice if this fix could be backported to 1.x so
react/socketcan get the update released as well, since this still usesreact/dnsin the older version afaik.