![如何防止 sysprep 更改默认用户设置](https://linux22.com/image/504892/%E5%A6%82%E4%BD%95%E9%98%B2%E6%AD%A2%20sysprep%20%E6%9B%B4%E6%94%B9%E9%BB%98%E8%AE%A4%E7%94%A8%E6%88%B7%E8%AE%BE%E7%BD%AE.png)
我在这里配置 20 台新的 Dell Vostro mini 时遇到了困难。我为其中一台设置了我喜欢的操作系统、应用程序和设置,尤其是 Windows XP 的视觉效果设置。我将它们设置为最佳性能,并停用了机箱中的所有其他功能。
我将此配置文件复制到默认用户配置文件并执行了 sysprep -mini -reseal。捕获此映像并再次部署后,桌面设置正确,但视觉效果设置除外。淡入淡出和其他所有内容都会为系统上创建的每个新用户重新启用。
如何保护我的设置不被 sysprep 覆盖?
谢谢!
答案1
您的特定需求应该很容易解决,只需创建一个 .REG 文件来设置UserPreferencesMask 注册表值,然后通过 Registry RunOnce 或 Run 值运行执行 REGEDIT /S YOURFILE.REG 的脚本/批处理文件。
答案2
我相信我遇到了与您类似的问题:我需要将配置设置应用于注册表,这将影响所有用户首次登录时的情况(我不在乎用户是否随后更改了他们的偏好设置)。我尝试修改临时用户配置文件并覆盖默认用户配置文件,就像您所做的那样——这对我来说不起作用。此外,无论出于何种原因,Run/RunOnce 也没有提供我需要的东西。这是我所做的:
在
i386\$oem$
文件夹中,创建/修改在 minisetup 期间cmdlines.txt
执行batch.cmd
:[Commands] "BATCH.CMD"
在
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
在
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
单个批处理文件并将所有复杂内容放在批处理文件中。