def main(): sys.excepthook = erreur_final try: if not os.path.isdir('mac'): os.mkdir('mac') except: print(Fore.LIGHTRED_EX + "[!] Erreur lors de la création du répertoire mac" + Fore.RESET) os.system("pause") print(Fore.LIGHTGREEN_EX + '[+] Lecture de conf.ini' + Fore.RESET) ini_groupes, dom = lire_fichier_ini('conf.ini') # on initialise la variable domaine qui contient le login administrateur # du domaine var_global.domaine.update(dom) # Si le login du fichier config est différent que celui avec lequel # on est connecté, on lance la procédure délévation de privilège if var_global.domaine['login'] is not None and getpass.getuser() != var_global.domaine['login']: commandes.password([]) # Si une demande de bypasser l'uac est demandé, on lance la procédure if sys.argv[1:] and sys.argv[1] == "pass_uac": Privilege.pass_uac() raise SystemExit(0) #logger_info.info('Création des alias') print(Fore.LIGHTGREEN_EX + '[+] Création des alias' + Fore.RESET) alias_cmd = var_global.lire_alias_ini() print(Fore.LIGHTGREEN_EX + '[+] Initialisation des salles :' + Fore.RESET) init_groupes(ini_groupes) AutoComplete.init_auto_complete() # efface l'écran print('\x1b[2J', end='') commandes.select(['*']) print('-' * (os.get_terminal_size().columns - 1)) print(Fore.LIGHTGREEN_EX + "Taper help ou la touche 'enter' pour obtenir de l'aide" + Fore.RESET) print('-' * (os.get_terminal_size().columns - 1)) while True: param = input('>>>') param = _protect_quotes(param) param = param.strip() param = param.split(' ') param = _remove_protect_char(param) cmd = param[0] if cmd in alias_cmd: # permet de créer des alias avec un parametre str_replace ="" if param[1:]: str_replace = " ".join(param[1:]) param = _protect_quotes(alias_cmd[cmd].replace("$$",str_replace)) param = param.strip() param = param.split(' ') param = _remove_protect_char(param) cmd = param[0] param.remove(cmd) cmd = cmd.lower() cmd_funct = getattr(commandes, cmd, commandes.help) try: # on efface la dernière erreur avant de lancer # la prochaine commande if cmd != 'errors': for m in var_global.groupe_selected_machines: m.message_erreur = '' cmd_funct(param) # nettoie une partie de ceux qui a été laissé par les threads # de la dernière commande # contrôle l'augmentation de la mémoire pour le multithread gc.collect() # print('com-ref: ', pythoncom._GetInterfaceCount()) print('-' * (os.get_terminal_size().columns - 1)) except Warning: cmd_funct(['help']) gc.collect() # print(pythoncom._GetInterfaceCount()) print('-' * (os.get_terminal_size().columns - 1))