Managed to make this occur, not sure if this helps debug / resolve the issue. On a windows 10 slave that was working, I turned on auto logon so my admin user would logon automatically at boot time. Once I did this the same issue above started happening. To which .\username and hostname\username could not rectify the issue. I also disabled auto login and the problem still persists. I will likely build the slave up from scratch again.
Server: Jenkins:lts docker image, ver 2.73.2, jdk8+
Client Windows 10, jdk8+
[ts-syd-01] Starting Virtual Machine...
[ts-syd-01] VM already powered on
[ts-syd-01] Waiting for VMTools
[ts-syd-01] VM Tools are running
[ts-syd-01] Finished wait for VMTools
[ts-syd-01] Waiting for 10 seconds before asking hudson.os.windows.ManagedWindowsServiceLauncher@6b5f20e to launch slave.
[ts-syd-01] Asking ManagedWindowsServiceLauncher to launch slave.
[2018-01-31 07:34:34] [windows-slaves] Connecting to 10.7.65.217
Checking if Java exists
java -version returned 1.8.0.
[2018-01-31 07:34:42] [windows-slaves] Copying jenkins-slave.xml
[2018-01-31 07:34:42] [windows-slaves] Copying slave.jar
[2018-01-31 07:34:42] [windows-slaves] Starting the service
[ts-syd-01] EXCEPTION while starting VM
java.lang.reflect.UndeclaredThrowableException
java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy94.start(Unknown Source)
at hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsServiceLauncher.java:342)
at hudson.slaves.DelegatingComputerLauncher.launch(DelegatingComputerLauncher.java:64)
at org.jenkinsci.plugins.vSphereCloudLauncher.launch(vSphereCloudLauncher.java:248)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:262)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.kohsuke.jinterop.JInteropInvocationHandler.invoke(JInteropInvocationHandler.java:140)
... 10 more
Caused by: org.jinterop.dcom.common.JIException: Service Logon Failure
at org.jvnet.hudson.wmi.Win32Service$Implementation.start(Win32Service.java:149)
... 15 more
ERROR: Unexpected error in launching an agent. This is probably a bug in Jenkins
org.jinterop.dcom.common.JIException: Service Logon Failure
at org.jvnet.hudson.wmi.Win32Service$Implementation.start(Win32Service.java:149)
Caused: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.kohsuke.jinterop.JInteropInvocationHandler.invoke(JInteropInvocationHandler.java:140)
Caused: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy94.start(Unknown Source)
at hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsServiceLauncher.java:342)
at hudson.slaves.DelegatingComputerLauncher.launch(DelegatingComputerLauncher.java:64)
at org.jenkinsci.plugins.vSphereCloudLauncher.launch(vSphereCloudLauncher.java:248)
Caused: java.lang.RuntimeException
at org.jenkinsci.plugins.vSphereCloudLauncher.launch(vSphereCloudLauncher.java:268)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:262)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Adding ".\" before the username worked for me. Using '.\' is the same as using the local domain. If you type in .\ before the username, that will instruct it that you are logging onto the local computer.