Unattended processing SysPrep停止后从SetupComplete.cmd执行RunOnce命令';它不工作,但在Windows下工作正常

Unattended processing SysPrep停止后从SetupComplete.cmd执行RunOnce命令';它不工作,但在Windows下工作正常,unattended-processing,Unattended Processing,OS:Windows 7嵌入式64位(使用的模板:应用程序兼容性) 在SetupComplete.cmd运行并重新启动计算机后,我正在尝试运行另一个脚本(SetupComplete2.cmd) 我在SetupComplete.cmd中添加了这一行: REG ADD "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v Setup /t REG_SZ /d "cmd.exe /C C:\Windows\S

OS:Windows 7嵌入式64位(使用的模板:应用程序兼容性)

在SetupComplete.cmd运行并重新启动计算机后,我正在尝试运行另一个脚本(SetupComplete2.cmd)

我在SetupComplete.cmd中添加了这一行:

REG ADD "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v Setup /t REG_SZ /d "cmd.exe /C C:\Windows\Setup\Scripts\SetupComplete2.cmd" /f
这个命令在Windows下运行得很好,我对它进行了多次测试,但由于某些原因从SetupComplete.cmd运行时它不起作用

谁能告诉我我错过了什么

或者,这里有人能建议一种在初始安装程序重新启动后运行另一个脚本的方法吗


我需要运行另一个脚本,因为我正在SetupComplete.cmd脚本中重命名计算机,并且我正在SetupComplete2.cmd中自动安装依赖于新计算机名的应用程序,我无法立即重命名计算机并安装应用程序,因为计算机重命名直到重新启动后才完全生效,我错了吗?

我正试图做同样的事情,却遇到同样的问题。我在HKLM和HKCU上都尝试过RunOnce和RunOnce/Setup,但似乎没有任何效果。我不明白这个问题

作为解决方法,我刚刚将第二个脚本添加到Run键

REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v Setup /t REG_SZ /d "cmd.exe /C C:\Windows\Setup\Scripts\SetupComplete2.cmd" /f
然后在第二个脚本中包含一个命令删除自身(必须是本地管理员,而不是具有管理员权限的其他帐户,否则会遇到UAC问题)


在泛化系统之前,请创建一个本地管理员帐户(例如,sysadmin),并在其HKCU中输入RunOnce键,以运行您想要的任何.cmd或.bat文件。然后在unattend.xml文件中,在OOBE阶段包含“Microsoft Windows Shell安装”部分,并使用“自动登录”组件,在该组件中指定系统管理员、密码和自动登录次数(通常仅一次)。我假设您已经有了unattend.xml,并且知道如何修改它

您还应该跳过机器和用户OOBE体验,这样初始化将在没有输入的情况下运行,直到它自动登录到sysadmin并向用户显示脚本。当然,您必须sysprep/generalization并捕获您的.wim文件,等等。这是我在OOBE期间发现的交互式输入的唯一方法


您可能会发现您的脚本需要提升权限。我认为RunOnce在没有管理员权限的情况下运行命令,因此用户至少需要响应提升提示,并且脚本必须自动提升。提升批处理文件和命令脚本是另一个主题,您可能已经知道如何进行此操作。

根据TechNet文章“”,Setupcomplete.cmd文件中的命令是以本地系统权限执行的

Kent England在他的回答中对如何解决这个问题提出了很好的建议。我想补充一点,您不需要创建本地管理员帐户,您可以简单地将其用于自动登录

您还应该考虑使用(MDT)用于部署Windows。使用MDT的一些好处包括在使用“安装后”任务序列部署Windows后安装软件,包括检查WSU或Windows Update是否有最新更新。MDT还可以管理设备驱动程序和软件包,并可与Windows部署服务(WDS)一起使用允许PXE引导来交付映像。Windows Embedded PoSReady 7是支持部署的操作系统之一

希望这有帮助


编辑:我刚刚注意到OP是旧的…我不是故意把一篇旧文章拖上去的。

几个链接似乎暗示它不仅仅是命令中的一个字符串。 看看这个:

也考虑上下文。HKLM条目将在本地\系统帐户的上下文中运行。 HKCU条目将在用户的上下文中运行。您需要什么

REG DELETE HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v Setup /f