Upgrading NSX Tools on Windows workload VMs might fail at first. Try the following troubleshooting options.

Manually uninstall and reinstall NSX Tools

If NSX Tools are not getting upgraded, you might have to manually uninstall them, recover the system, and then install the new version. Follow these steps:
  1. Uninstall NSX Tools by running the command:
    > powershell -file nsx_install.ps1 -operation uninstall
  2. Recover the system and restore it to a stable state by running the following commands:
    1. Check whether any NSX or OVS services are still running:
      > powershell Get-ScheduledTask -Taskname nsx_watchdog
      > powershell Unregister-ScheduledTask -TaskName nsx_watchdog
      > tasklist | findstr nsx
      > tasklist | findstr ovs
    2. If NSX/OVS services are running, stop the services in the following order:
      > sc.exe stop nsx-agent
      > sc.exe delete nsx-agent
      > sc.exe stop nsx-exporter
      > sc.exe delete nsx-exporter
      > sc.exe stop nsx-vm-command-relay-agent
      > sc.exe delete nsx-vm-command-relay-agent
      > sc.exe stop ovs-vswitchd
      > sc.exe delete ovs-vswitchd
      > sc.exe stop ovsdb-server
      > sc.exe delete ovs-vswitchd
    3. Check whether the OVSIM kernel driver is installed. If installed, manually uninstall the driver.
      >netcfg -q ovsim
      >netcfg /u ovsim
    4. Reset TCP/IP stack to restore the TCP/IP stack to default state.
      > netsh winsock reset
      > netsh int ip reset
    5. Remove all NSX components files.
      > Remove-Item "C:\ProgramData\VMware\NSX\Data" -Force
      > Remove-Item "C:\Program Files\VMware\NSX" -Force
    6. Reboot the system. After reboot, clean up the driver (INF) files. Retrieve the INF file name using nsx_conf.json.
      Note: If the file nsx_conf.json is not present, skip this step.
      > C:\Windows\system32>more C:\ProgramData\VMware\NSX\Data\nsx_conf.json
            "NSX": {
             "version": null,
             "OVS": {
             "version": "",
              "driver_inf": "oem9.inf"
      > pnputil -d oem9.inf
  3. Install NSX Tools by following instructions at "Install NSX Tools" in the NSX-T Data Center Administration Guide.
  4. In your public cloud, remove the nsx.network=default tag from the VM, wait for at least two minutes and add the tag back. This ensures the workload VM gets connected with the PCG.