Erstellen Sie unbeaufsichtigt win7, führen Sie * nach * der Desktop-Vorbereitungsphase eine Batch-Datei als Administrator aus?


0

Ich erstelle eine unbeaufsichtigte win7-Installation und stoße auf ein letztes Problem:

Mein aktueller Prozess installiert in der Nachinstallationsphase eine Reihe von Programmen und führt dann einige Stapelskripts und Registrierungsschlüssel aus, um das Startmenü, den Desktop und die Kontextmenüs zu bereinigen.

Alles scheint zu funktionieren, außer dass nach dem ersten Anmelden und dem Vorbereiten Ihres Desktops usw. einige der Symbole und Kontextmenüelemente beim ersten Anmelden zurückgegeben / generiert werden.

Ich habe eine Batch-Datei geschrieben, die jede einzelne dieser unerwünschten Änderungen korrigiert, aber ich kann für mein ganzes Leben nicht herausfinden, wie ich sie zum automatischen Ausführen bringen kann nach dem Diese Vorbereitungsphase ist abgeschlossen.

Ich habe es versucht:

  • Wenn mein Skript es in das Startup des Startmenüs kopiert, funktioniert dies nicht, da es auf diese Weise keine Administratorrechte hat
  • Wenn mein Skript eine Run-as-Admin-Verknüpfung zum Skript in Startup kopiert, funktioniert dies nicht, da Startup meiner Meinung nach keine Run-as-Admin-Verknüpfungen ausführt.
  • Ausführen aller Anweisungen in der Phase nach der Installation - dies funktioniert nicht, da einige der zu entfernenden Elemente in der Desktop-Vorbereitungsphase generiert wurden

Ich muss in der Lage sein, dieses Skript nach der Desktop-Vorbereitung beim ersten Anmelden automatisch auszuführen und diese Funktionalität in meine unbeaufsichtigte ISO zu integrieren. Es wäre schön, eine UAC-Eingabeaufforderung nicht akzeptieren zu müssen, aber ich denke nicht, dass dies möglich ist - daher ist eine UAC-Eingabeaufforderung akzeptabel.

Um klar zu sein, wenn ich manuell Führe das Skript aus, das ich geschrieben habe, und akzeptiere die UAC-Eingabeaufforderung. Es macht alles, was ich will, perfekt. Ich kann es einfach nicht zum richtigen Zeitpunkt zum automatischen Auslösen bringen.

Gibt es eine Möglichkeit, dies vollständig in den Windows-Installationsmedien zu tun?


Mir scheint, Sie stellen zwei getrennte (oder zumindest trennbare) Fragen: (1) Wie bringe ich mein Skript zum Laufen, wenn alles andere erledigt ist und sich der Staub gelegt hat? und (2) Wie kann ich mein Skript als Administrator ausführen lassen? Habe ich recht oder weißt du die Antwort auf eine von ihnen? (Die Antwort auf # 1 könnte "warten" lauten n Sekunden, vielleicht fragen Sie (etwas), ob die anderen Dinge erledigt sind. ”) Wenn Sie tatsächlich zwei separate Fragen stellen, sollten Sie es vielleicht tun eigentlich fragen zwei getrennte Fragen, Klicken Sie auf Frage stellen und frage einen separat.
Scott

Ich weiß, wie man das Skript in der richtigen Phase ausführt, aber nur auf eine Weise, die es dem Administrator nicht erlaubt - und ich weiß, wie man das Skript als Administrator ausführt, aber nicht in der richtigen Phase ... Es ist also eine Frage von zwei verflochtene Komplikationen. Soweit ich weiß, werde ich eine andere Herangehensweise benötigen als die fehlgeschlagenen Ideen, die ich gehabt habe.
user1002617

Antworten:


0

Wenn ich die Frage richtig verstehe, soll der PC den Stapel im Hintergrund ausführen als admin nach dem Neustart.

In diesem Fall empfehle ich, vor dem Neustart einen Zeichenfolgewert in den Registrierungsschlüssel 'RunOnce' einzufügen, um ein Visual Basic-Skript zu starten, das Administratorrechte erhält (dies erfordert möglicherweise Benutzereingaben, in der Regel wird nur auf 'Ja' geklickt), und dann die Stapel.  Ich weiß, dass es etwas sperrig ist, aber so habe ich es für mich arbeiten lassen. VBS unten:

Set UAC = CreateObject("Shell.Application") 
UAC.ShellExecute "cmd.exe", "/c FILEPATH", "", "runas", 1 

Danke, ich werde es versuchen. Insbesondere möchte ich das Skript ausführen nach dem Es erstellt das Profilmaterial des Benutzers - die Desktop-Verknüpfungen, Startmenüelemente usw. - so wie es jetzt ist, habe ich ein Skript, das alles im Startmenü und auf dem Desktop vollständig löscht und sie dann durch neues Material ersetzt ... aber Während der "Vorbereitung Ihres Desktops" zum ersten Mal scheinen eine Handvoll der von mir gelöschten Symbole zurück zu kommen (IE usw.), daher möchte ich dieses Skript ausführen und löschen jene (Diese Phase scheint auch einige Registrierungsänderungen vorzunehmen, die das überschreiben, was ich nach der Installation getan habe - also ändert mein Skript diese)
user1002617
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.