65 lines
2.2 KiB
Python
65 lines
2.2 KiB
Python
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() |