Criando win7 autônomo, executa um arquivo de lote como admin, * depois * da fase de preparação da área de trabalho?

0

Estou criando uma instalação autônoma do win7 e estou correndo para um problema final:

Meu processo atual instalará vários programas na fase de pós-instalação e, em seguida, executará alguns scripts em lote e chaves de registro para limpar o menu Iniciar, a área de trabalho e os menus de contexto.

Tudo parece funcionar, exceto que, após o login pela primeira vez e a preparação da área de trabalho, etc., alguns dos ícones e itens do menu de contexto retornam / são gerados no primeiro login.

Eu escrevi um arquivo em lote que corrige cada uma dessas mudanças indesejadas, mas não posso, durante a vida, descobrir como executá-lo automaticamente após essa fase de preparação. .

Eu tentei:

  • ter meu script copiado no Startup do menu Iniciar - isso não funciona, pois ele não tem direitos de administrador dessa maneira
  • fazer com que meu script copie um atalho run-as-admin para o script em Startup - isso não funciona porque, eu acho, a inicialização não faz atalhos para executar como administrador?
  • executando todas as instruções na fase de pós-instalação - isso não funciona porque algumas das coisas que estou removendo parecem ser geradas na fase de preparação da área de trabalho

Eu preciso que esse script seja executado automaticamente no primeiro login, após a preparação da área de trabalho, e para criar essa funcionalidade no meu ISO autônomo. Seria bom não ter que aceitar um prompt do UAC, mas eu não acho que isso seja possível - então um prompt do UAC é aceitável.

Para ser claro, se eu manualmente executar este script que escrevi e aceitar o prompt do UAC, ele faz tudo que eu quero perfeitamente. Eu simplesmente não consigo fazer isso disparar automaticamente na hora certa.

Existe alguma maneira de fazer isso inteiramente dentro da mídia de instalação do Windows?

    
por user1002617 21.05.2017 / 23:30

1 resposta

0

Se eu entendi a pergunta corretamente, você quer que o PC execute silenciosamente o lote como admin após a reinicialização.

Se este for o caso, eu recomendo inserir um valor de string na chave de registro 'RunOnce' antes de reinicializar para iniciar um script Visual Basic que obtenha privilégios de administrador (isso pode pedir entrada do usuário, geralmente apenas clicando em 'Sim') e em seguida, inicie o lote.  Eu sei que é meio volumoso, mas é assim que eu fiz isso funcionar para mim. VBS abaixo:

Set UAC = CreateObject("Shell.Application") 
UAC.ShellExecute "cmd.exe", "/c FILEPATH", "", "runas", 1 
    
por 24.05.2017 / 05:45