Estoy creando una instalación desatendida de win7 y me encuentro con un problema final:
Mi proceso actual instalará un montón de programas en la fase posterior a la instalación y luego ejecutará algunos scripts por lotes y claves de registro para limpiar el menú de inicio, el escritorio y los menús contextuales.
Todo parece funcionar, excepto que después de iniciar sesión por primera vez y preparar su escritorio, etc., algunos de los íconos y elementos del menú contextual regresan / se generan en el primer inicio de sesión.
He escrito un archivo por lotes que corrige cada uno de estos cambios no deseados, pero por mi vida no puedo descubrir cómo hacer que se ejecute automáticamente después de que se haya completado esa fase de preparación.
He intentado:
- hacer que mi script lo copie en el Inicio del menú de inicio; esto no funciona ya que no tiene derechos de administrador de esa manera
- hacer que mi secuencia de comandos copie un acceso directo de ejecución como administrador a la secuencia de comandos en Inicio: esto no funciona porque, creo, ¿el inicio no hará accesos directos de ejecución como administrador?
- ejecutar todas las instrucciones en la fase posterior a la instalación; esto no funciona porque algunas de las cosas que estoy eliminando parecen generarse en la fase de preparación del escritorio
Necesito poder ejecutar este script automáticamente en el primer inicio de sesión, después de la preparación del escritorio, y construir esa funcionalidad en mi ISO desatendida. Sería bueno no tener que aceptar un aviso de UAC, pero no creo que sea posible, por lo que un aviso de UAC es aceptable.
Para ser claros, si ejecuto manualmente este script que he escrito y acepto el aviso de UAC, hace todo lo que quiero perfectamente. Parece que no puedo hacer que se active automáticamente en el momento adecuado.
¿Hay alguna manera de hacer esto completamente dentro de los medios de instalación de Windows?
fuente
Respuestas:
Si entiendo la pregunta correctamente, desea que la PC ejecute silenciosamente el lote como administrador después de reiniciar.
Si este es el caso, recomiendo insertar un valor de cadena en la clave de registro 'RunOnce' antes de reiniciar para iniciar un script de Visual Basic que obtenga privilegios de administrador (esto puede solicitar la entrada del usuario, generalmente solo haciendo clic en 'Sí') y luego inicie el lote. Sé que es un poco voluminoso, pero así es como lo hice funcionar para mí. VBS a continuación:
fuente