net stop все равно прерасно работает. если служба запущена, то она ее остановит, если она не запущена - выдаст соответствующее сообщение, если же прав недостаточно, то и Ваш скрипт тоже ее не остановит.
если надо изменить тип запуска службы, то есть другая команда, названия не помню (справка венды спасет мир), которая позовляет и менять тип запуска, регистрировать и удалять службы (и тоже одной строчкой), и функциональности у нее больше, чем у графической вендовой оснастки.
кстати, если надо создавать и удалять службы, и хочется делать это из граф. интерфеса - есть и такая програмка в несколько сотен килобайт, она еще позволяет "заменить" вендовый диспетчер устройств, если кому надо - найду, выложу.
зы. кстати, в ваш последний кусок скрипта можно добавть еще одну строчку
Set colServices = objWMIService.ExecQuery_
("SELECT * FROM Win32_Service WHERE State='Stoped' and StartMode='Auto'")
For Each objService In colServices
if objService.Name="PnkBstrB" then
objService.ChangeStartMode("Manual") 'Ставим в ручной режим
objService.StartService() 'Запускаем службу
exit for ' комменты ниже
end if
Next
не уверен, что в vbscript есть "exit for", если есть, то имеет смысл его поставить, дабы не перебирать остальные службы...
а можно просто в SELECT поставить WHERE Name='PnkBstrB'
а далее то же содержимое IF'a
с проверкой конечно, что SELECT вернул нужную запись.