Jens:

Thanks for the thoughts... I considered that - and dismissed it - here's why:

I have a function called HWInfo() - it returns an array of values collected from WMI. This function is called in the project to populate the form. I have another script called HWI, which simply calls HWInfo and displays all the array values. When I pause the project script and run HWI from a command line, it returns appropriate values. When I click OK on the MessageBox and let the project script continue, it dies. That's why I thought it might be the way I was referencing things or not clearing a variable properly. Should I formally close the WMI connection somehow?

Also, I use the Kix shutdown command to start the reboot.. Then I go into a loop pinging the server every 2 seconds until it fails to respond, then continue until it begins to respond again.. then another loop executing 'XNET LIST \\server | Find "Pending" ' every 5 seconds. When no output is returned from this command, all services are "ready" and I then wait 10 seconds before querying. (This is when the MB pops up and I can successfully run HWI).

Anyway, I think I'm waiting long enough to start..

Glenn
_________________________
Actually I am a Rocket Scientist! \:D