ogclone-engine/ogclient/scripts/buildToOrder

80 lines
2.3 KiB
Bash

#!/bin/bash
#/**
# 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.
#@author
#@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
#Control de parametros.
PROG="$(basename $0)"
if [ $# -ne 2 ]; then
ogRaiseError $OG_ERR_FORMAT "Formato: $PROG ndisco nparticion"
exit $?
fi
MNTDIR=$(ogMount $1 $2)
# filtro Tipo de sistema operativo.
OSTYPE="$(ogGetOsType $1 $2)"
case "$OSTYPE" in
Windows)
echo "Filtro versión de sistema operativo windows."
TYPE=$(ogGetOsVersion $1 $2)
case "$TYPE" in
*Windows\ XP)
echo "Versión de sistema operativo Windows XP no soportado"
exit
;;
*Windows\ 7*)
# Claves a modificar
KEYS="intelide pciide msahci iaStorV iaStor LSI_SAS"
;;
*Windows\ *8*|*10*)
# Claves a modificar
KEYS="intelide pciide storahci iaStorV iaStorAC iaStorAVC LSI_SAS"
;;
esac
echo "$TYPE"
CONTROLSET="ControlSet001 ControlSet002"
for C in $CONTROLSET;
# Si no existe la rama de registro continuo a la siguiente.
[ "$(ogListRegistryKeys $MNTDIR SYSTEM '\'${C})" == "" ] && continue
for K in $KEYS; do
FULLK='\'$C'\Services\'$K'\Start'
VALUE=$(ogGetRegistryValue $MNTDIR SYSTEM "$FULLK")
# Si el valor está vacío la creo.
if [ "$VALUE" == "" ]; then
ogDeleteRegistryValue $MNTDIR SYSTEM "$FULLK"
ogAddRegistryValue $MNTDIR SYSTEM "$FULLK" DWORD
fi
ogSetRegistryValue $MNTDIR SYSTEM "$FULLK" '0'
echo " * $C $K enabled"
done
done
;;
Linux)
echo "Versión de Sistema Operativo GNU/Linux no soportado"
;;
*)
echo "Sistema Operativo no soportado"
;;
esac