summaryrefslogtreecommitdiffstats
path: root/client/shared/scripts/buildToOrder
blob: 5bbc9380545f2f98d87de1a18fa979d3f27c5dab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/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