winsc
v1.0.4
Published
Windows Service Controller for NodeJs. Install/uninstall, start/stop and verify existence of a Windows service. Print out the current status of the service and list all services available on local machine.
Downloads
105
Maintainers
Readme
winsc - Windows Service Controller for NodeJs
Windows Service Controller for NodeJs. Install/uninstall, start/stop and verify existence of a Windows service. Print out the current status of the service and list all services available on local machine.
| This module works on Microsoft Windows machines only | | --- |
Install NPM
npm install winsc --save
Usage
Import module for Windows Service Controller
let winsc = require('winsc');
Get list of all available services on local machine
let services = await winsc.all();
// services => ["ServiceOne", "ServiceTwo"]
Check existence of provide service name
let doesExists = await winsc.exists('ServiceOne');
// doesExists => true/false
Get status of the service using its name
let serviceStatus = await winsc.status('ServiceOne');
// serviceStatus => "RUNNING" or "STOPPED"
Get details of a given service using its name
let serviceDetails = await winsc.details('ServiceOne');
// serviceDetails => {
// name: "ServiceOne",
// displayName: "Service One",
// startType: "Automatic",
// exePath: "C:\Windows\System32\serviceone.exe"
// dependencies: []
// }
| Attention! Install, uninstall, start, stop and startup require administrative privileges! |
| --- |
Install the service providing name, deescription and executable path
let wasInstalled = await winsc.install(
'ServiceOne',
'Demo Service One',
'C:\\services\\service-one.exe');
// wasInstalled => true/false
Uninstall the service providing name
let wasUninstalled = await winsc.uninstall('ServiceOne');
// wasUninstalled => true/false
Start an installed service
let wasStarted = await winsc.start('ServiceOne');
// wasStarted => true/false
Stop a running service
let wasStopped = await winsc.stop('ServiceOne');
// wasStopped => true/false
Set the startup type of a service by name
let startupChanged = await winsc.startup('ServiceOne', 'Automatic');
// startupChanged => true/false
// startup type can be 'Automatic', 'Disabled' or 'Manual'
Provided working sample
Inside folder sample you will find a sample of Windows Service created using .NET Framework 4.7.2. In order to try "winsc" please build the .NET application (using Visual Studio 2017/2019).
The Windows Service executable file will be generated in .\sample\SampleWindowsService\SampleWindowsService\bin\Debug\SampleWindowsService.exe. Please check its existence before proceed.
Then run with administrative privileges from the project root folder the following commands on console.
For install the new service:
node ./sample/sample-install.js install
For uninstall the service, run the following command:
node ./sample/sample-install.js uninstall
Enjoy...