¿Construye win7 desatendido, ejecuta un archivo por lotes como administrador, * después * de la fase de preparación del escritorio?

0

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?

usuario1002617
fuente
Me parece que está haciendo dos preguntas separadas (o al menos separables): (1) ¿Cómo hago para que mi script se ejecute después de todo lo demás y el polvo se haya asentado? y (2) ¿Cómo hago para que mi script se ejecute como administrador? ¿Tengo razón, o sabes la respuesta a uno de ellos? (La respuesta a # 1 podría ser “esperar n segundos, tal vez sondeo (algo) para ver si las otras cosas que se hace.”) Si en realidad se está haciendo dos preguntas separadas, tal vez debería realmente pedir dos preguntas separadas, es decir, haga clic en Hacer pregunta y hacer una por separado.
Scott,
Sé cómo ejecutar el script en la fase correcta, pero solo de una manera que no permite la administración, y sé cómo ejecutar el script como administrador, pero no durante la fase correcta ... así que es una cuestión de dos complicaciones entrelazadas Por lo que entiendo, necesitaré un enfoque diferente de cualquiera de las ideas fallidas que he tenido.
user1002617

Respuestas:

0

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:

Set UAC = CreateObject("Shell.Application") 
UAC.ShellExecute "cmd.exe", "/c FILEPATH", "", "runas", 1 
ThexTallxDude
fuente
Gracias, intentaré esto. Específicamente, quiero ejecutar el script después de que crea el material del perfil del usuario: los accesos directos del escritorio, los elementos del menú de inicio, etc., como lo es ahora, tengo un script que borra completamente todo en el menú de inicio y en el escritorio, luego los reemplaza con cosas nuevas ... pero durante la "preparación de su escritorio" para la primera hora de tiempo, un puñado de los iconos he eliminado parecen venir de atrás (IE, etc), así que quiero ejecutar este script y eliminar los ( esta fase también parece hacer algunos cambios en el registro que sobrescribir lo que hice en el post-instalación - por lo que mi script cambia los)
user1002617