使用GPO运行一次batch file

有可能我可以为新安装的计算机设置一个具有许多batch file(主要是文件移动)的GPO列表,这些文件只能运行一次,永远不会运行?

我是这个初学者,我还没有find任何好的解决scheme。 每个帮助计数:)谢谢

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceregistry项将是放置您只想运行一次的项目的最自然的地方,因为运行时将从该列表中删除一个命令。 但是,使用组策略首选项编辑registry可能有点麻烦。

您也可以使用组策略首选项来部署一次运行并立即删除的立即(计划)任务。 即时任务就像一个标准的计划任务,所以可以在一个任务中运行多个操作。 有一个checkbox称为“申请一次,不重新申请”,强制它只能申请(因此存在)一次。


configurationregistry项目: http : //technet.microsoft.com/en-us/library/cc753092.aspx

configuration一个即时任务: http : //technet.microsoft.com/en-us/library/dd851779.aspx


附加说明

这仅适用于Windows Vista及更高版本的客户端版本,以及安装了GPP客户端扩展补丁程序的Windows XP客户端 。 我强烈build议使用它。

我把这种事情称为“陷门”的GPO,我经常这样做(对于新join域的计算机的工作)。 如果我有脚本,我只想执行一次客户端,我通常会这样做:

  • 在AD中创build一个“已经执行Trapdoor脚本”的组,并授予“域计算机”权限允许他们“所有validation的写入”和“写入成员”(一个属性特定的权限)。

  • 创build我的启动脚本并在脚本的末尾添加一个net group "Trapdoor Script Already Executed" /domain /add %computername%$

  • 创build一个引用我的启动脚本的GPO,并向GPO添加权限“Trapdoor Script已执行”/“拒绝应用组策略”。

这会导致机器在执行脚本后将自己添加到“Trapdoor Script已执行”组中,而在将来的引导中,他们将被拒绝再次执行脚本。

编辑:

这种策略在客户端计算机没有从组中删除但是被重新工作或者重新使用并且需要再次运行“陷门”脚本的情况下效果极差。

在这种情况下,我select向registry写一个“canary”值,脚本可以用简单的REG QUERY来检查,如果find值,则在errorlevel 。 这样做的缺点是脚本会在每次启动时执行(而通过组成员资格限制GPO应用程序会阻止脚本执行的发生,并且在每次启动时花费时间)。 理论上,您可以使用WMI筛选来基于registry值来定位GPO,但过去,基于registry值的WMI筛选的性能是可怕的

当我能够让技术人员从AD中删除计算机并在“重新工作”时重新join计算机,而不是仅仅坚持计算机对象和组成员身份,我就成功实施了“陷门组”策略。 这是一个挑战,但我可以devise的唯一方法是不会在每次启动时产生脚本执行损失。

请先阅读完整的这篇文章 。

注1:下载并安装GPMC和

注2:这里只适用于Windows 8的另一个答案: 导入和导出Starter GPO