When running Citrix Provisioning devices on Hyper-V, you are limited to use Legacy 100Mbit NIC adapter at boot, even when booting from an ISO file. To be successful with the 10Gbit syntechic NIC adapter, you need to boot first on a legacy NIC and then switch to synthetic NIC after Windows is loaded. There are some scripts out there to do this, however I wanted to keep this very process very simple and robust. So I did the job Citrix should have done. Created a small service that will check for PVS standard mode, then disable IP on legacy NIC when synthetic NIC is connected. In private mode, the service will not touch the NIC’s at all. The service is packaged as a simple MSI file, just run it, and you’re done.
The service will start immediately after setup completes.
Eventlog will show what the service is doing.
In private mode nothing happens. IPv4 is still enabled on the legacy adapter.
Reboot to standard mode and watch the magic happens
Now IPv4 is disabled on the legacy adapter.
The service will try for 10 minutes to look for a synthetic adapter before disconnecting the legacy adapter. If not found, the legacy adapter will be used.
The MSI package installs 3 files, the service, the nvspbind tool from Microsoft that actually does the IPv4 bind/unbind, and a command line version of the fix, if you want to run this in a script or manually during debugging.
You need dotnet 3.5 to use this service.
You may download and use this tool for free, but please remember that the use of this tool is completely on your own risk, and is not supported in any way. Always test in a proper test environment before you use it in production.