如何添加关闭脚本(不是使用 gpedit.msc 或活动目录)?

Fra*_*cis 6 scripting windows windows-xp

我创建了一个脚本,我想将其作为关机脚本部署在我的 XP 工作站上。我知道我可以使用 UI (gpedit.msc) 添加我的脚本作为关闭脚本,但我想自动部署我的脚本。我的工作站不是 Windows 域的一部分。我将使用 OCS Inventory 进行部署。

我试图向 Windows 注册表添加条目,但这不起作用。我在运行 gpedit.msc 时看不到我添加的内容。如果我用 gpedit.msc 添加一些东西,这似乎会覆盖我手动添加到注册表中的内容。

小智 9

对于任何努力使其工作的人,我的同情。我花了很多时间试图弄清楚 gpedit 所做的数百个更改中究竟哪些真正重要。我的测试是在 Windows Server 2016 上进行的。 结果证明这些是相关的:

  1. 下的值:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\[Startup|Shutdown]\0
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\[Startup|Shutdown]\0\0
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\[Startup|Shutdown]\0
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\[Startup|Shutdown]\0\0
    
    Run Code Online (Sandbox Code Playgroud)
  2. 目录:

    \Windows\system32\GroupPolicy\Machine\Scripts\Startup
    \Windows\system32\GroupPolicy\Machine\Scripts\Shutdown
    
    Run Code Online (Sandbox Code Playgroud)

Windows 使用这些目录作为脚本的工作目录。即使您没有将启动/关闭脚本保存在那里,这些目录也需要存在。

gpedit 所做的其他一切似乎都不重要。这包括许多注册表项和其他答案中引用的 .ini 文件。上面的一些键也可能是多余的,但我已经没有耐心了。


Fra*_*cis 4

我成功了。

我在一台计算机上使用 gpedit.msc 添加了脚本。HKLM\Software\Policies\Microsoft\Windows\System\Scripts我从和导出注册表项HKLM\Software\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine。我还压缩了C:\WINDOWS\SYSTEM32\GroupPolicy目录。

在另一台计算机上,我使用之前在第一台计算机上导出的 2 个 .reg 文件修补了注册表。我还将 zip 文件解压缩到第二台 PC 上的同一位置。

该脚本在关机时运行,我在 gpedit.msc 中看到它。一切似乎都很好!