• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 666
  • Last Modified:

Script to remotely restart service

Hello,

I need to write a script that will allow me to remotely restart a service on a Windows 2003 server.  I've done things with net stop, net start etc before locally but wasn't sure what needed to be done to be able to run this from a workstation and restart the service on ServerXYZ.
0
mgthomas0
Asked:
mgthomas0
1 Solution
 
OriNetworksCommented:
You can use sc in a batch file or from a command prompt. I know this MS Article says windows 2000 and nt but the sc syntax is pretty much the same http://support.microsoft.com/kb/166819
0
 
OriNetworksCommented:
sc \\remotecomputer start servicename

sc \\remotecomputer stop servicename
0
 
rejoinderCommented:
Here is a vbscript sample...
strComputer = "."
strService  = "Alerter"
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery("SELECT * FROM Win32_Service WHERE Name='" & strService & "'")
 
Set WshShell = WScript.CreateObject("WScript.Shell")
 
For Each objService in colServiceList
    result = WshShell.Popup("Stopping: " & objService.DisplayName, 3)
    intResult = objService.StopService()
    if intResult <> 0 then
        wscript.echo "There was a problem stopping the service."
    end if
    WScript.Sleep 10000
    result = WshShell.Popup("Starting: " & objService.DisplayName, 3)
    intResult = objService.StartService()
    if intResult <> 0 then
        wscript.echo "There was a problem starting the service."
    end if
Next

Open in new window

0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
rejoinderCommented:
Change the strComputer to the remote machine name and the strService to the service name you want to restart.
0
 
TekServerCommented:
PSExec (part of the Sysinternals Suite) can be used to do this as well.

Example:

psexec \\%remotepc% -s net start %servicename%

Where "%remotepc% and %servicename% are variables in a batch file (or you can supply these explicitly, if you prefer; though with the variables and an input file you can feed the batch file a list of remotepc's and or services very quickly and efficiently).

HTH!
:)
0
 
mgthomas0Author Commented:
Thanks for the info!  I'll go through and test some of this out and get back to everyone, but it looks like this is exactly what I need.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now