A while back I created a script that restarts your BizTalk Hosts – pretty simple,
here http://blogs.breezetraining.com.au/mickb/2006/10/04/SimpleScriptToRestartAllBizTalkServices.aspx
(also this script didn’t pick up your service if it was previously stopped – limitation
of the ‘sc query’ command)

Now with PowerShell it’s a one line job:
It goes something like this:
get-service BTS* | foreach-object -process {restart-service $_.Name}

You can also set all your BTS Services to start ‘automatic’ as follows:
get-service BTS* | foreach-object -process {set-service $_.Name -startuptype automatic}

(I’m actually trying to set the BTS Services to ‘Automatic (Delayed)’ but haven’t
been able to do that yet)