import sys #!/usr/bin/env python3 """ BuildToOrder @brief Script de ejemplo para realizar una configuracion del sistema operativo antes de generar imagen o de restaurado. @brief Activa el uso de los contralodres de disco más usados en windows 7. @brief (puede usarse como complemento para el programa de creación de imágenes o de restauración). @param 1 disco @param 2 particion @return @TODO @exception @version 1.0.4 - Discos ide + SATA. @date 2012-10-05 @version 1.1.1b - Funciona para Windows8 y Windows 10. Si la clave no existe (tiene valor vacío) se crea. @date 2020-05-04 """ def main(): PROG = sys.argv[0] if len(sys.argv) != 3: ogRaiseError("OG_ERR_FORMAT", f"Formato: {PROG} ndisco nparticion") disk = sys.argv[1] partition = sys.argv[2] MNTDIR = ogMount(disk, partition) OSTYPE = ogGetOsType(disk, partition) if OSTYPE == "Windows": print("Filtro versión de sistema operativo windows.") TYPE = ogGetOsVersion(disk, partition) if "Windows XP" in TYPE: print("Versión de sistema operativo Windows XP no soportado") sys.exit() elif "Windows 7" in TYPE: KEYS = ["intelide", "pciide", "msahci", "iaStorV", "iaStor", "LSI_SAS"] elif "Windows 8" in TYPE or "Windows 10" in TYPE: KEYS = ["intelide", "pciide", "storahci", "iaStorV", "iaStorAC", "iaStorAVC", "LSI_SAS"] else: KEYS = [] print(TYPE) CONTROLSET = ["ControlSet001", "ControlSet002"] for C in CONTROLSET: if ogListRegistryKeys(MNTDIR, "SYSTEM", f'\\{C}') == "": continue for K in KEYS: FULLK = f'\\{C}\\Services\\{K}\\Start' VALUE = ogGetRegistryValue(MNTDIR, "SYSTEM", FULLK) if VALUE == "": ogDeleteRegistryValue(MNTDIR, "SYSTEM", FULLK) ogAddRegistryValue(MNTDIR, "SYSTEM", FULLK, "DWORD") ogSetRegistryValue(MNTDIR, "SYSTEM", FULLK, '0') print(f" * {C} {K} enabled") elif OSTYPE == "Linux": print("Versión de Sistema Operativo GNU/Linux no soportado") else: print("Sistema Operativo no soportado") if __name__ == "__main__": main()