Checking and Modifying the Set of Tasks Windows Automatically Runs at Logon
Credit: Daniel Kinnaer
Problem
You need to check which tasks Windows is set to automatically run at logon and possibly change these tasks.
Solution
When administering Windows machines, it’s crucial to
keep track of the tasks each machine runs at logon. Like so many
Windows tasks, this requires working with the registry, and standard
Python module _winreg enables this:
from _winreg import *
aReg = ConnectRegistry(None, HKEY_LOCAL_MACHINE)
try:
targ = r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run'
print "*** Reading from", targ, "***"
aKey = OpenKey(aReg, targ)
try:
for i in range(1024):
try:
n, v, t = EnumValue(aKey, i)
print i, n, v, t
except EnvironmentError:
print "You have", i, "tasks starting at logon"
break
finally:
CloseKey(aKey)
print "*** Writing to", targ, "***"
aKey = OpenKey(aReg, targ, 0, KEY_WRITE)
try:
try:
SetValueEx(aKey, "MyNewKey", 0, REG_SZ, r"c:\winnt\explorer.exe")
except EnvironmentError:
print "Encountered problems writing into the Registry..."
raise
finally:
CloseKey(aKey)
finally:
CloseKey(aReg)Discussion
The
Windows
registry holds a wealth of crucial system-administration data, and
the Python standard module _winreg makes it
feasible to read and alter data held in the registry. One of the
items held in the Windows registry is a list of tasks to be run at
logon. This recipe shows how to examine this list and how to add a
task to the list so it is run at logon.
If you want to remove ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access