如何防止 sysprep 更改默认用户设置

如何防止 sysprep 更改默认用户设置

我在这里配置 20 台新的 Dell Vostro mini 时遇到了困难。我为其中一台设置了我喜欢的操作系统、应用程序和设置,尤其是 Windows XP 的视觉效果设置。我将它们设置为最佳性能,并停用了机箱中的所有其他功能。

我将此配置文件复制到默认用户配置文件并执行了 sysprep -mini -reseal。捕获此映像并再次部署后,桌面设置正确,但视觉效果设置除外。淡入淡出和其他所有内容都会为系统上创建的每个新用户重新启用。

如何保护我的设置不被 sysprep 覆盖?

谢谢!

答案1

您的特定需求应该很容易解决,只需创建一个 .REG 文件来设置UserPreferencesMask 注册表值,然后通过 Registry RunOnce 或 Run 值运行执行 REGEDIT /S YOURFILE.REG 的脚本/批处理文件。

答案2

我相信我遇到了与您类似的问题:我需要将配置设置应用于注册表,这将影响所有用户首次登录时的情况(我不在乎用户是否随后更改了他们的偏好设置)。我尝试修改临时用户配置文件并覆盖默认用户配置文件,就像您所做的那样——这对我来说不起作用。此外,无论出于何种原因,Run/RunOnce 也没有提供我需要的东西。这是我所做的:

  1. i386\$oem$文件夹中,创建/修改在 minisetup 期间cmdlines.txt执行batch.cmd

    [Commands]
    "BATCH.CMD"
    
  2. i386\$oem$文件夹中,创建/修改batch.cmd用于reg.exe将默认用户安装ntuser.dat到任意安装点HKEY_USERS(我称之为我的HKU\DEFUSER),导入包含所需注册表设置的 *.reg 文件,然后卸载。它可能如下所示:

    @echo off
    
    REM *********************************************************************
    REM Importing Registry Data into HKU\DEFUSER
    REM *********************************************************************
    echo Importing Registry Data into HKU\DEFUSER...
    REG.EXE LOAD HKU\DEFUSER "C:\Documents and Settings\Default User\ntuser.dat"
    REG.EXE IMPORT "HKU_DEFUSER Settings.reg"
    REG.EXE UNLOAD HKU\DEFUSER
    
  3. i386\$oem$文件夹中,创建一个包含所需注册表设置的 *.reg 文件。我的文件名为HKU_DEFUSER Settings.reg。确保 *.reg 文件中的键名与挂载点的名称一致batch.cmd(我的是 DEFUSER):

    Windows Registry Editor Version 5.00
    
    [HKEY_USERS\DEFUSER\Control Panel\PowerCfg]
    "CurrentPowerPolicy"="3"
    

由于cmdlines.txt是在 minisetup 结束附近执行的,这些设置不会被覆盖。

关于步骤 1 的注意事项:Microsoft 文档称,它cmdlines.txt被解析然后执行——它不是普通的批处理或命令文件。对于包含引号等的复杂命令,可能会有一些转义问题。Microsoft 推荐的方法是只执行cmdlines.txt单个批处理文件并将所有复杂内容放在批处理文件中。

相关内容