如何让脚本在首次启动时运行一次

如何让脚本在首次启动时运行一次

我有一个用于使用 WDS 部署的 Windows 7 映像。我们喜欢将所有应用程序安装在主映像中。新的 Adob​​e CS6 套件需要在部署时进行序列化,而不是在主映像中。

我需要在初始部署首次启动时运行一次。要运行的命令是:

AdobeSerialization.exe --tool=VolumeSerialize

我知道当我手动运行该命令时它会起作用,但我无法让它在第一次启动时自动运行一次。

我们已经有一个运行并安装 AV 客户端和其他一些项目的脚本:c:\Windows\Setup\Scripts\SetupComplete.cmd

我已将 Adob​​eSerialization.exe 复制到 c:\Windows\Setup\Scripts\ 但它似乎无法运行。

在首次启动期间仅运行一次该脚本的推荐方法是什么?

答案1

尝试将其制作成实际的脚本:
在记事本中创建文件AdobeSerialization.cmd并添加以下行:

@echo off
start /d "path_to_file" AdobeSerialization.exe --tool=VolumeSerialize
del AdobeSerialization.cmd

然后将脚本AdobeSerialization.cmd移至C:\Windows\Setup\Scripts\

在脚本的最后一行,文件会删除自身以防止再次运行。或者,如果您不想将脚本从计算机中删除,可以将最后一行更改为:

move AdobeSerialization.cmd "new_path"

答案2

考虑使用 HKLM 配置单元下的 RunOnce 注册表项,以便对于第一个登录的用户它将运行一次。

http://msdn.microsoft.com/en-us/library/aa376977%28v=vs.85%29.aspx

在主映像中设置此项,首次启动时,即可执行您的命令。Windows 会小心地删除注册表项。

编辑(感谢@guss)- RunServicesOnce(与上面的链接相同)每次启动时运行一次,不等待用户登录。在不需要用户登录的情况下,该键似乎是正确的选择。

相关内容