构建无人值守的 win7,在桌面准备阶段*之后*以管理员身份运行批处理文件?

构建无人值守的 win7,在桌面准备阶段*之后*以管理员身份运行批处理文件?

我正在构建无人值守的 win7 安装,并遇到了最后一个问题:

我当前的进程将在安装后阶段安装一堆程序,然后运行一些批处理脚本和注册表项来清理开始菜单、桌面和上下文菜单。

一切似乎都正常,除了第一次登录和准备桌面等之后,一些图标和上下文菜单项在第一次登录时返回/生成。

我已经编写了一个批处理文件来纠正这些不必要的更改,但我无论如何也想不出如何让它自动运行准备阶段已经完成。

我试过了:

  • 让我的脚本将其复制到开始菜单的启动中 - 这不起作用,因为它没有管理员权限
  • 让我的脚本将以管理员身份运行的快捷方式复制到启动中 - 这不起作用,因为我认为启动不会执行以管理员身份运行的快捷方式?
  • 在安装后阶段运行所有指令 - 这不起作用,因为我删除的一些内容似乎是在桌面准备阶段生成的

我需要能够在桌面准备后首次登录时自动运行此脚本,并将该功能构建到我的无人值守 ISO 中。如果不必接受 UAC 提示就好了,但我认为这是不可能的 - 所以 UAC 提示是可以接受的。

要清楚的是,如果我手动执行我编写的这个脚本,并接受 UAC 提示,它完美地完成了我想要的一切。我只是似乎无法让它在正确的时间自动触发。

有没有办法可以在 Windows 安装媒体中完全完成此操作?

答案1

如果我理解正确的话,你希望 PC 默默地执行批处理作为管理员重启后。

如果是这种情况,我建议在重新启动之前在“RunOnce”注册表项中插入一个字符串值,以启动获取管理员权限的 Visual Basic 脚本(这可能会要求用户输入,通常只需单击“是”),然后启动批处理。我知道这有点笨重,但这就是我让它为我工作的方式。下面的 VBS:

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

相关内容