#Run example #cd %~dp0..\..\Sources #..\Resources\WPy64-3720\python-3.7.2.amd64\python.exe -m pyOpenRPA.Tools.RobotRDPActive "C:\Abs\Archive\scopeSrcUL\Settings.py" #pause >nul #Import parent folder to import current / other packages ######################################################### import sys import subprocess #start process async import os #path, run, remove import time #timer import importlib #lFolderPath = "\\".join(__file__.split("\\")[:-4]) lFolderPath = "/".join(__file__.split("/")[:-4]) sys.path.insert(0, lFolderPath) #Единый глобальный словарь (За основу взять из Settings.py) global mGlobalDict #Call Settings function from argv[1] file ################################################ lSubmoduleFunctionName = "Settings" lFileFullPath = sys.argv[1] lModuleName = (lFileFullPath.split("\\")[-1])[0:-3] lTechSpecification = importlib.util.spec_from_file_location(lModuleName, lFileFullPath) lTechModuleFromSpec = importlib.util.module_from_spec(lTechSpecification) lTechSpecificationModuleLoader = lTechSpecification.loader.exec_module(lTechModuleFromSpec) mGlobalDict = None if lSubmoduleFunctionName in dir(lTechModuleFromSpec): # Run SettingUpdate function in submodule mGlobalDict = getattr(lTechModuleFromSpec, lSubmoduleFunctionName)() ################################################# ######################################################### from pyOpenRPA.Tools.RobotRDPActive import Connector from pyOpenRPA.Tools.RobotRDPActive import Monitor #Disable certificate warning lCMDString = 'reg add "HKEY_CURRENT_USER\\Software\\Microsoft\\Terminal Server Client" /v "AuthenticationLevelOverride" /t "REG_DWORD" /d 0 /f' os.system(lCMDString) #time.sleep() for lConfigurationItem in mGlobalDict["RDPList"]: try: Connector.Session(lConfigurationItem) lConfigurationItem["FlagSessionIsActive"]=True #Flag that session is started except Exception: pass #Run monitor Monitor.Monitor(mGlobalDict, 1) #Enable certificate warning lCMDString = 'reg add "HKEY_CURRENT_USER\\Software\\Microsoft\\Terminal Server Client" /v "AuthenticationLevelOverride" /t "REG_DWORD" /d 2 /f' os.system(lCMDString) #Close all thread from OrchestratorConnection mGlobalDict["OrchestratorConnectorTerminateAll"]()