Pulse VPN - Juniper adapter unable to start

Occasional Visitor

WHile PulseVPN is trying to secure connection, the below is the message that we could ifnd on the network adapter in Device Manager.

 

This device cannot start. (Code 10)

{Operation Failed}
The requested operation was unsuccessful.

 

was working last week, after the new Windows11 patch by this week, im  unable to connect VPN at all

3 Replies

@karthikeyan8919 

This script will reset your network entirely, you would also have to reboot after using this (you may be forced to log in again depending on what type of VPN it is.) It does disable WPAD, proxies, etc, which should have zero effect on you unless you're using SOCKS5 over TOR / Onion Router.

 

Launch Windows Powershell as an elevated process via Task Manager -> Start Menu -> Run -> taskmgr -> File -> Run new Task -> %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -> Select "Create this task with administrative privileges." -> Click OK.

 

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope LocalMachine -Force;
Get-NetAdapter | Enable-NetAdapter;
Set-NetIPInterface;
Get-DnsClient | Set-DnsClientServerAddress -ResetServerAddresses;
Get-NetAdapterBinding | Disable-NetAdapterBinding -AllBindings -IncludeHidden -componentid "ms_netbios";
Get-NetAdapterBinding | Enable-NetAdapterBinding -componentid "ms_tcpip";
Get-NetAdapterBinding | Enable-NetAdapterBinding -componentid "ms_tcpip6";
Get-DnsClient | Set-DnsClientServerAddress -ResetServerAddresses;
Get-NetAdapterBinding | Disable-NetAdapterBinding -AllBindings -IncludeHidden -componentid "ms_netbios";
Get-NetAdapterBinding | Disable-NetAdapterBinding -componentid "ms_msclient";
Get-NetAdapterBinding | Disable-NetAdapterBinding -componentid "ms_server";
Get-NetAdapterBinding | Disable-NetAdapterBinding -componentid "ms_pacer";
Get-NetAdapterBinding | Disable-NetAdapterBinding -componentid "ms_implat";
Get-NetAdapterBinding | Disable-NetAdapterBinding -componentid "ms_lldp";
Get-NetAdapterBinding | Disable-NetAdapterBinding -componentid "ms_rspndr";
Get-DnsClient | Set-DnsClientServerAddress -ResetServerAddresses;
Remove-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad" -Recurse -Force;
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" -Name "DisableCachingOfSSLPages" -Value "00000000";
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" -Name "EnableNegotiate" -Value "00000000";
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" -Name "ProxyEnable" -Value "00000000";
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" -Name "MigrateProxy" -Value "00000001";
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" -Name "WarnonZoneCrossing" -Value "00000000";
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" -Name "SyncMode5" -Value "00000000";
./ipconfig /release;
./ipconfig /flushdns;
./ipconfig /renew;
./netsh winsock reset;
./netsh interface ipv4 reset;
./netsh interface ipv6 reset;
./netsh winsock reset catalog;
./netsh int ipv4 reset reset.log;
./netsh int ipv6 reset reset.log;

 

@karthikeyan8919

If the above script doesn't work, you will have uninstall the software and purge leftover / outdated drivers that are still installed (this is a generic process for all VPNs.) You have to check the list and verify individually, which drivers are used by the VPN, if they are still there after you reboot.

 

This is the path where the files for the drivers are physically located, but you STILL have to use PnPUtil to uninstall them: %SystemRoot%\System32\Drivers

 

Launch the Command Prompt -> Start Menu -> Run -> taskmgr -> File -> Run new Task -> %SystemRoot%\System32\CMD.EXE -> Select "Create this task with administrative privileges." -> Click OK.

REM Create a list currently installed drivers on the Desktop
pnputil /enum-drivers > "%UserProfile%\Desktop\driverlist.txt"

The associated driver names will be listed in the above file as: Published Name: <oem#.inf>

 

Once you have created the list, you can copy drivers that are associated with the VPN from the list, into another text file, and then manually create a command line entry for each one to remove them from the Windows Driver Store.

REM Remove a driver from an Online Windows Image
pnputil /delete-driver <oem#.inf> /force

"PnPUtil Command Syntax: Legacy Command Mapping" -> https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/pnputil-command-syntax#legacy-comm...

 

You ALSO have to check to see if each VPN driver is listed as a service within this registry key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services", and delete any leftover ones accordingly via Regedit or Powershell, if the uninstaller didn't remove them (you may also have to delete the VPN service itself if it's STILL THERE after uninstalling it and rebooting your computer.)

 

Launch Powershell -> Start Menu -> Run -> taskmgr -> File -> Run new Task -> %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -> Select "Create this task with administrative privileges." -> Click OK.

dir "HKLM:\SYSTEM\CurrentControlSet\Services" | Format-Table -Property Name

You may also have to check these folders to see if there are any leftover configuration files from the VPN that you need to delete (each one can be Copy/Pasted into Windows Explorer easily.)

 

%AppData%

%LocalAppData%

%ProgramData%

%ProgramFiles%

%ProgramFiles(x86)%

 

@karthikeyan8919

NOTE: How to automatically configure a virtual WireGuard adapter in Windows:

# WireGuard example: A virtual adapter is created / deleted any time the VPN connects / disconnects, and must be configured
# The ConPTY API, PowerShell SDK, could be used to call this script any time the adapter connects via SENS: https://docs.microsoft.com/en-us/windows/win32/sens/notifications
# Example assumes the adapter name is "WireGuard," and the DNS is IPv4-only / Cloudflare (change it to WHATEVER you want)
# This line below would be used in a batch file to call the script
# powershell -noprofile -file %UserProfile%\Desktop\WireGuard_DNS.ps1
# This line below clears the powershell command history
# %SYSTEMROOT%\System32\CMD.EXE /Q /C START /MIN /REALTIME sdelete64 -nobanner -r "%AppData%\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt"

Set-DnsClientServerAddress -InterfaceAlias WireGuard -ResetServerAddresses
Disable-NetAdapterBinding -Name WireGuard -AllBindings -IncludeHidden -componentid "ms_netbios";
Disable-NetAdapterBinding -Name WireGuard -componentid "ms_tcpip6";
Set-DnsClientServerAddress -InterfaceAlias WireGuard -ResetServerAddresses;
Disable-NetAdapterBinding -Name WireGuard -AllBindings -IncludeHidden -componentid "ms_netbios";
Disable-NetAdapterBinding -Name WireGuard -componentid "ms_msclient";
Disable-NetAdapterBinding -Name WireGuard -componentid "ms_server";
Disable-NetAdapterBinding -Name WireGuard -componentid "ms_pacer";
Disable-NetAdapterBinding -Name WireGuard -componentid "ms_implat";
Disable-NetAdapterBinding -Name WireGuard -componentid "ms_rspndr";
Disable-NetAdapterBinding -Name WireGuard -componentid "ms_lldp";
Get-DnsClient | Set-DnsClientServerAddress -ResetServerAddresses;
Get-DnsClient | Set-DnsClientServerAddress -ServerAddresses ("1.1.1.1","1.0.0.1");
Get-DnsClient | Set-DNSClient -RegisterThisConnectionsAddress $False -UseSuffixWhenRegistering $False -ConnectionSpecificSuffix " ";