I have been working a bit in the fADSIServiceRun (Sorry Howard).
In this way, it will support services with spaces in their names
Code:

Function fADSIServiceRun ($Computer, $Service, $Run)
Dim $objService, $status, $StartUp, $objServices
; Validate input parameters
If VarType($Computer) <> 8
Exit(87)
EndIf
If VarType($Service) <> 8
Exit(87)
EndIf
If VarType($Run) <> 2 AND
VarType($Run) <> 3 AND
$Run >= 0 AND $Run <= 3
Exit(87)
EndIf

If $Computer = ""
$Computer = @wksta
EndIf

;$objService = Getobject('WinNT://'+$Computer+'/'+$Service+',Service')
$objServices = Getobject('WinNT://'+$Computer)
$objServices.Filter = 'Array("Service")'
For Each $objService In $objServices
If $objService.DisplayName = $Service

;If @error = 0
$status = $objService.status

Select
Case $Run = 0
Select
Case $status = 4 ;Running
$objService.stop
Case $status = 1 ;Stopped
Exit (2182)
Case $status = 7 ;Paused
$objService.stop
Case 1
? 'Unhandled service status(0):$status'
Exit (1)
EndSelect
Case $Run = 1
Select
Case $status = 1 ;Not Running
$StartUp = $objService.Get('StartType')
If $StartUp <> 4
$objService.start
Else
Exit (1058)
EndIf
Case $status = 7 ;Paused
$objService.continue
Case $status = 4 ;Running
Exit (3521)
Case 1
? 'Unhandled service status(1):$status'
Exit (1)
EndSelect
Case $Run = 2
Select
Case $status = 4 ;Running
$objService.pause
Case $status = 1 ;Stopped
$StartUp = $objService.Get('StartType')
If $StartUp <> 4
$objService.start
$objService.pause
Else
Exit (1058)
EndIf
Case 1
? 'Unhandled service status(2):$status'
Exit (1)
EndSelect
EndSelect
$objService = ''
;Else
; Exit @error
;EndIf
EndIf
Next
EndFunction