What do you mean when you say its crapshoot;?
When you say it does not get the DNS when you do a ipconfig /all you cannot see the DNS? or you can see it but its not working?
I would check the DNS i would try using maybe a public one just for testing...
The captive portal willl not work if the computer cannot resolve names... so check that. The easiest way to test it, it justby changing it or doing ping to pages you have not even opened which you know they arent in the cache of the machine... but well i would do this
Connect
Ping the gateway
ping something in internet like 4.2.2.1 or 8.8.8.8
If that work well you got internet
After that iwould ping someting likeping www.cnn.com
or some other webpage... if it cannot resolve the name to a ip addresss then thats the problem.
Try pinging many different names.
Cheers
Carlos