Vehicle-Anti-Theft-Face-Rec.../venv/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py

21 lines
950 B
Python

""" Finds any disconnected terminal service sessions and logs them off"""
import win32ts
import pywintypes
import winerror
sessions=win32ts.WTSEnumerateSessions(win32ts.WTS_CURRENT_SERVER_HANDLE)
for session in sessions:
"""
WTS_CONNECTSTATE_CLASS: WTSActive,WTSConnected,WTSConnectQuery,WTSShadow,WTSDisconnected,
WTSIdle,WTSListen,WTSReset,WTSDown,WTSInit
"""
if session['State']==win32ts.WTSDisconnected:
sessionid=session['SessionId']
username=win32ts.WTSQuerySessionInformation(win32ts.WTS_CURRENT_SERVER_HANDLE, sessionid, win32ts.WTSUserName)
print('Logging off disconnected user:',username)
try:
win32ts.WTSLogoffSession(win32ts.WTS_CURRENT_SERVER_HANDLE, sessionid, True)
except pywintypes.error as e:
if e.winerror == winerror.ERROR_ACCESS_DENIED:
print("Can't kill that session:", e.strerror)
else:
raise