Is there a way to programmatically add a logon or logoff script in Windows? I don't want to use any graphical programs, everything's supposed to happen without the user noticing anything.
Also, I want to run the scripts only when a certain user logs in/out. It shouldn't trigger for every user on the system.
Adding the command to the registry, as per this answer. It seems that adding the command to
HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts\Logoff\0\0isn't enough. I found I also need to add the same command at
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\S-1-5-21-57470242-2825662697-3518406308-1003\Scripts\Logoff\0\0, and possibly also modify
%WINDIR%\System32\GroupPolicy\User\Scripts\scripts.ini, otherwise the command simply isn't executed.
I've stopped pursuing this solution because I don't know what the registry key
S-1-5-21-57470242-2825662697-3518406308-1003is. Is this a random sequence of digits? Is it always the same text? Will it work if I use this on a different PC?
%WINDIR%\System32\GroupPolicy\User\Scripts\scripts.inias per this answer. Something very odd is happening here. I can see this file in explorer. It exists. I can open it, and, with admin privileges, can use notepad to modify it. But when I try to access it from within a python script, I get a FileNotFoundError, even if given admin privileges. (Traceback:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Windows\\System32\\GroupPolicy\\User\\Scripts\\scripts.ini'P.S.: I'm not using double backslashes, python just displays them like that)
Creating a startup task using
SCHTASKS. I gave up on this because it looks like SCHTASKS only supports logon tasks, but not logoff tasks.