Я собираю автоматическую установку win7 и сталкиваюсь с одной последней проблемой:

Мой текущий процесс установит несколько программ на этапе после установки, а затем запустит несколько пакетных сценариев и разделов реестра для очистки меню «Пуск», рабочего стола и контекстных меню.

Кажется, все работает, за исключением того, что после первого входа в систему, подготовки рабочего стола и т.д. Некоторые значки и элементы контекстного меню возвращаются / генерируются при первом входе в систему.

Я написал командный файл, который исправляет каждое из этих нежелательных изменений, но я не могу понять, как заставить его автоматически запускаться после того, как этот этап подготовки завершен.

Я пробовал:

  • мой сценарий скопировал его в меню «Пуск» - это не работает, так как у него нет прав администратора.
  • если мой сценарий скопирует ярлык запуска от имени администратора для запуска сценария в Startup - это не сработает, потому что, я думаю, при запуске не будет ярлыков запуска от имени администратора?
  • выполнение всех инструкций в фазе после установки - это не работает, потому что некоторые вещи, которые я удаляю, похоже, генерируются в фазе подготовки рабочего стола

Мне нужно иметь возможность автоматически запускать этот сценарий при первом входе в систему, после подготовки к рабочему столу и встроить эту функциональность в мой автоматический ISO. Было бы неплохо не принимать приглашение UAC, но я не думаю, что это возможно - поэтому приглашение UAC является приемлемым.

Чтобы было ясно, если я вручную выполню этот сценарий, который я написал, и приму приглашение UAC, он сделает все, что я хочу, отлично. Я просто не могу заставить его автоматически запускаться в нужное время.

Есть ли способ сделать это полностью на установочном носителе Windows?

1 ответ1

0

Если я правильно понял вопрос, вы хотите, чтобы ПК без перезагрузки выполнял пакет как администратор .

Если это так, я рекомендую вставить строковое значение в раздел реестра «RunOnce» перед перезагрузкой, чтобы запустить скрипт Visual Basic, который получает привилегии администратора (для этого может потребоваться ввод данных пользователем, обычно просто нажимая «Да»), а затем запустить партия. Я знаю, что это довольно громоздко, но вот как я заставил это работать на меня. VBS ниже:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .