Link to home
Start Free TrialLog in
Avatar of mabo
mabo

asked on

starting services with a script in windows 2000

I want to start a few services in windows 2000...with windows script..if possible....let's call the service name X...can someone suggest a sample code...

thanks...
Avatar of carmine
carmine
Flag of United Kingdom of Great Britain and Northern Ireland image

Using VBScript to start the browser service (Uses ADSI):


Const ADS_SERVICE_STOPPED = 0x00000001

'Status                         Constant
'ADS_SERVICE_STOPPED            0x00000001
'ADS_SERVICE_START_PENDING      0x00000002
'ADS_SERVICE_STOP_PENDING       0x00000003
'ADS_SERVICE_RUNNING            0x00000004
'ADS_SERVICE_CONTINUE_PENDING   0x00000005
'ADS_SERVICE_PAUSE_PENDING      0x00000006
'ADS_SERVICE_PAUSED             0x00000007
'ADS_SERVICE_ERROR              0x00000008
'ADS_SERVICE_OWN_PROCESS        0x00000010
'ADS_SERVICE_SHARE_PROCESS      0x00000020
'ADS_SERVICE_KERNEL_DRIVER      0x00000001
'ADS_SERVICE_FILE_SYSTEM_DRIVER 0x00000002
'ADS_SERVICE_BOOT_START         SERVICE_BOOT_START
'ADS_SERVICE_SYSTEM_START       SERVICE_SYSTEM_START
'ADS_SERVICE_AUTO_START         SERVICE_AUTO_START
'ADS_SERVICE_DEMAND_START       SERVICE_DEMAND_START
'ADS_SERVICE_DISABLED           SERVICE_DISABLED
'ADS_SERVICE_ERROR_IGNORE       0
'ADS_SERVICE_ERROR_NORMAL       1
'ADS_SERVICE_ERROR_SEVERE       2
'ADS_SERVICE_ERROR_CRITICAL     3

' Start the browser service.
Set oBrowser = GetObject("WinNT://./browser")
If oBrowser.status = ADS_SERVICE_STOPPED Then
    oBrowser.start
End If
Set oBrowser = Nothing

Avatar of Lermitte
Lermitte

Or, if you want to do it with WMI (browser example again):

Set System = GetObject("winmgmts:{impersonationlevel=impersonate}!Win32_Service.Name=Browser")

System.StartService


regards
Mark
Avatar of Lee W, MVP
I'd imagine you could also just use "NET START <service>" where service is the service name found under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
leew, yeah, I'd suggest good 'ole batch for NT4, but as we're in the brave new world of W2K, lets make the most of the scripting features now available to us.  Once you've learn't (even some of it) it's much more powerful.

Mark
Avatar of mabo

ASKER

hmmm....
I am actually trying to start/stop Oracle DBMS services in win2k environment...I don't want to go to services....and click click.......
let's say Oracle services are called X and Y ...so if I pass these two parameter to a windows script then it would be good if I start/stop Oracle.....

any comments.....
Create a script called "ToggleService.vbs" as below:

'Toggle service(s) (passed as params) state between stop/started
Const ADS_SERVICE_STOPPED = 0x00000001

If Wscript.Arguments.Count > 0 Then
Do While iArg <= Wscript.arguments.Count - 1
    Call ToggleServ(Wscript.arguments.Item(iArg)
Loop


Sub ToggleServ(ByVal Name)
Set oService = GetObject("WinNT://./")
If oService.Status = ADS_SERVICE_STOPPED Then
    oService.Start
Else
    oService.Stop
End If
Set oService = Nothing
End Sub



Then invoke the script from a cmd line with:

cscript ToggleService.vbs  ServiceX ServiceY

Or create a shortcut to do this for you.

Or change the script to either just start, and have another that just stops the services you specify.

Mark

Avatar of mabo

ASKER

It gives error in line

const ADS_SERVICE_STOPPED = 0x00000001

"expected end of statement"

any suggestions.....
ASKER CERTIFIED SOLUTION
Avatar of carmine
carmine
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial