From f5865347037b779b94d56aaf23c05d8276857a9e Mon Sep 17 00:00:00 2001 From: Giampaolo Rodola Date: Sun, 10 Apr 2016 18:44:43 +0200 Subject: add winservice script and disablr start() and stop() methods --- scripts/winservices.py | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 scripts/winservices.py (limited to 'scripts/winservices.py') diff --git a/scripts/winservices.py b/scripts/winservices.py new file mode 100644 index 00000000..fed6a734 --- /dev/null +++ b/scripts/winservices.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python + +# Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +""" +List all Windows services installed. + +$ python scripts/winservices.py +AeLookupSvc (Application Experience) +status: stopped, start: manual, username: localSystem, pid: None +binpath: C:\Windows\system32\svchost.exe -k netsvcs + +ALG (Application Layer Gateway Service) +status: stopped, start: manual, username: NT AUTHORITY\LocalService, pid: None +binpath: C:\Windows\System32\alg.exe + +APNMCP (Ask Update Service) +status: running, start: automatic, username: LocalSystem, pid: 1108 +binpath: "C:\Program Files (x86)\AskPartnerNetwork\Toolbar\apnmcp.exe" + +AppIDSvc (Application Identity) +status: stopped, start: manual, username: NT Authority\LocalService, pid: None +binpath: C:\Windows\system32\svchost.exe -k LocalServiceAndNoImpersonation + +Appinfo (Application Information) +status: stopped, start: manual, username: LocalSystem, pid: None +binpath: C:\Windows\system32\svchost.exe -k netsvcs + +... +""" + + +import os +import sys + +import psutil + + +if os.name != 'nt': + sys.exit("platform not supported (Windows only)") + + +def main(): + for service in psutil.win_service_iter(): + info = service.as_dict() + print("%s (%s)" % (info['name'], info['display_name'])) + print("status: %s, start: %s, username: %s, pid: %s" % ( + info['status'], info['start_type'], info['username'], info['pid'])) + print("binpath: %s" % info['binpath']) + print("") + + +if __name__ == '__main__': + sys.exit(main()) -- cgit v1.2.1