Rather than wait until the weekend, or put the VMs into another subnet temporarily, I chose to use an SSH tunnel to a linux server in one of our other vCloud subnets (one which I knew had access to the KMS server on port 1688).
These are the instructions I wrote quickly so that I could palm off the work (after testing it of course!) - IPs and hostname changed to <value>;
RDP into the VM as your adm account.
On activation prompt, Click ask me later, then OK
Run <hostname>\c$\windows\putty.exe
Type <linux server> then on the left under connections expand SSH then click tunnels
Source port 1688
Dest port <kms server>:1688
Leave other settings, click Add then open
(The above instructions create the SSH tunnel so that local port 1688 goes through the Linux server to get the KMS server)
Leave this running then open a command prompt
Copy and paste in this line;
Slmgr /skms localhost:1688 & Slmgr /ato & shutdown /f /r /t 15
(The above line changes the KMS server to use, use's it to activate the PC, then reboots it)