|
|
@ -49,6 +49,13 @@ import importlib
|
|
|
|
# "FunctionName":"",
|
|
|
|
# "FunctionName":"",
|
|
|
|
# "ArgList":[],
|
|
|
|
# "ArgList":[],
|
|
|
|
# "ArgDict":{}
|
|
|
|
# "ArgDict":{}
|
|
|
|
|
|
|
|
# },
|
|
|
|
|
|
|
|
# {
|
|
|
|
|
|
|
|
# "Type":"WindowsLogon",
|
|
|
|
|
|
|
|
# "Domain":"",
|
|
|
|
|
|
|
|
# "User":"",
|
|
|
|
|
|
|
|
# "Password":""
|
|
|
|
|
|
|
|
# # Return "Result": True - user is logged on, False - user is not logged on
|
|
|
|
# }
|
|
|
|
# }
|
|
|
|
# ]
|
|
|
|
# ]
|
|
|
|
##################################
|
|
|
|
##################################
|
|
|
@ -127,7 +134,6 @@ def Activity(inActivity):
|
|
|
|
if lItem["Type"]=="ProcessStart":
|
|
|
|
if lItem["Type"]=="ProcessStart":
|
|
|
|
#Вид активности - запуск процесса
|
|
|
|
#Вид активности - запуск процесса
|
|
|
|
#Запись в массив отработанных активностей
|
|
|
|
#Запись в массив отработанных активностей
|
|
|
|
lDaemonActivityLogDict[(lItem["activityType"],lActivityDateTime,lItem["processPath"])]={"ActivityStartDateTime":lCurrentDateTime}
|
|
|
|
|
|
|
|
#Лог
|
|
|
|
#Лог
|
|
|
|
mGlobalDict["Processor"]["LogList"].append({"activityType":lItem["activityType"], "activityDateTime":str(lActivityDateTime), "processPath":lItem["processPath"], "activityStartDateTime":str(lCurrentDateTime)})
|
|
|
|
mGlobalDict["Processor"]["LogList"].append({"activityType":lItem["activityType"], "activityDateTime":str(lActivityDateTime), "processPath":lItem["processPath"], "activityStartDateTime":str(lCurrentDateTime)})
|
|
|
|
#Запустить процесс
|
|
|
|
#Запустить процесс
|
|
|
@ -140,8 +146,6 @@ def Activity(inActivity):
|
|
|
|
if lItem["Type"]=="ProcessStop":
|
|
|
|
if lItem["Type"]=="ProcessStop":
|
|
|
|
#Вид активности - остановка процесса
|
|
|
|
#Вид активности - остановка процесса
|
|
|
|
#часовой пояс пока не учитываем
|
|
|
|
#часовой пояс пока не учитываем
|
|
|
|
#Запись в массив отработанных активностей
|
|
|
|
|
|
|
|
lDaemonActivityLogDict[(lItem["Type"],lActivityDateTime,lItem["Name"])]={"ActivityStartDateTime":lCurrentDateTime}
|
|
|
|
|
|
|
|
#Сформировать команду на завершение
|
|
|
|
#Сформировать команду на завершение
|
|
|
|
lActivityCloseCommand='taskkill /im '+lItem["processName"]
|
|
|
|
lActivityCloseCommand='taskkill /im '+lItem["processName"]
|
|
|
|
#TODO Сделать безопасную обработку,если параметра нет в конфигурации
|
|
|
|
#TODO Сделать безопасную обработку,если параметра нет в конфигурации
|
|
|
@ -166,6 +170,24 @@ def Activity(inActivity):
|
|
|
|
lItem["Result"]=lFunction(*lItem.get("ArgList",[]),**lItem.get("ArgDict",{}))
|
|
|
|
lItem["Result"]=lFunction(*lItem.get("ArgList",[]),**lItem.get("ArgDict",{}))
|
|
|
|
except Exception as e:
|
|
|
|
except Exception as e:
|
|
|
|
logging.exception("Loop activity error: module/function not founded")
|
|
|
|
logging.exception("Loop activity error: module/function not founded")
|
|
|
|
|
|
|
|
#################################
|
|
|
|
|
|
|
|
# Windows logon
|
|
|
|
|
|
|
|
#################################
|
|
|
|
|
|
|
|
if lItem["Type"] == "WindowsLogon":
|
|
|
|
|
|
|
|
import win32security
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
|
|
|
hUser = win32security.LogonUser(
|
|
|
|
|
|
|
|
lItem["User"],
|
|
|
|
|
|
|
|
lItem["Domain"],
|
|
|
|
|
|
|
|
lItem["Password"],
|
|
|
|
|
|
|
|
win32security.LOGON32_LOGON_NETWORK,
|
|
|
|
|
|
|
|
win32security.LOGON32_PROVIDER_DEFAULT
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
except win32security.error:
|
|
|
|
|
|
|
|
lItem["Result"] = False
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
lItem["Result"] = True
|
|
|
|
|
|
|
|
###################################
|
|
|
|
#Set datetime stop
|
|
|
|
#Set datetime stop
|
|
|
|
lItem["DateTimeUTCStringStop"] = datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%f")
|
|
|
|
lItem["DateTimeUTCStringStop"] = datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%f")
|
|
|
|
##################
|
|
|
|
##################
|
|
|
|