Powershell script "Bind apps to network adapter interface"
Hi, Thanks for the great scripts! I found your Powershell script on the Superuser site, aimed at binding a Windows application to a network adapter interface. It uses SecureIPBind version, also supplied at that time with HideMyAss client. Unfortunately, the latest HMA! Pro VPN 3.4 for Windows 10 doesn't come with these SecureIPBind dlls, and rather uses a different approach to Bind apps. Previous 2.8.24 version does come with the mentioned dlls, but this method no longer works in Win10. In my tests with a very popular Freephoneline 32-bit VoIP Dialer that uses a set of jars in the background, and comes with a free phone number and free calls throughout Canada, your Powershell script worked just for the 1st phone call, and all subsequent calls were channeled by Windows through a different network adapter with lowest Metric score set in its Prefs.
Is it possible for you to update your Powershell script and method of binding apps to a network adapter to support Windows 10?
You're welcome.
According to this thread, SecureIpBind is absent in the v3 client, but should be still available in v2 client:
The version 3 is a "lighter " version for first time users and those that do not need such advanced options. However, we kept the version 2.8.24.0 with all its features and you can use it.
Since using v2 dlls with "Freephoneline 32-bit VoIP Dialer" worked for you once, I suppose that this approach could be tweaked to work consistently. I haven't looked at the Dialer yet, but if it "uses a set of jars in the background" I think that you should try to bind java.exe (or javaw.exe).
If you provide more details about how you try to bind Dialer, I'll try to help.
- What processes are launched by Dialer?
- What processes you tried to bind?
- How exactly did you try to bind Dialer? PowerShell commands, etc.
Hi again,
I followed verbatim your instructions posted on Superuser, using HMA v2.8.24:

I tried to bind the app Freephoneline.exe, not any specific process. But as per Process Explorer, the only process it launches at idle and during phone calls is "C:\Program Files (x86)\Freephoneline\Freephoneline.exe". The app actually allows itself to choose a host at launch (a local adapter IP), and during the 1st call it uses that chosen IP and adapter. But once the 1st call is finished, all subsequent calls are passed by Windows 10 through a different adapter, which has lower Metric score set in IPv4 Advanced Properties. But that score is global, changing it affects all traffic, not only from this app. Relaunching the app repeats the story again. It seems to use the SuperIPBind during the 1st call, because without it the app uses the preferred Windows adapter even during the 1st call, and its own selection of the host IP is ignored by Windows.
If you can install the app, you will see how it goes. :) I use Nirsoft AdapterWatch to see what network adapter the packets are channeled through. I don't want all Java based apps run through this adapter, only several VoIP apps, whether Java based or not.
Another question is, should that binding process running PS commands be repeated after each Windows reboot, or just once?
If you can install the app, you will see how it goes.
I'll try to get my hands on it later.
Another question is, should that binding process running PS commands be repeated after each Windows reboot, or just once?
AFAIR, you should do it once. It saves settings to the registry permanently.
Hey, just wanted to say i got this working for Discord, been trying for almost 9 hours with other programs and you just helped me big time. Also couldn't seem to find HMA v2 easily on their site anymore so if anyone else is looking here is a link to a version that includes the files you need. https://hidemyass.avcdn.net/tools/privax/latest/HMA-Pro-VPN-2.8.24.0-installer.exe
@virrtue It's woefully out of date, but it's good to see that it's still working for you. Guess Discord is 32-bit app, otherwise it wouldn't have worked ¯\_(ツ)_/¯.