将制作好的应答文件unattend.xml拷贝到模板机sysprep目录下,然后在cmd下运行 (unattend.xml文件可自定义名称)
sysprep /generalize /oobe /shutdown /unattend:Unattend.xml
应答文件设置项说明:
4.specialize
amd64_Microsoft-Windows-Security-SPP-UX_neutral:Skip AutoActivation:true 跳过自动激活
amd64_Microsoft-Windows-Shell-Setup_neutral:CpmputerName,TimeZone:设置计算机名(*表示自动命名),时区
注:ComputerName要生效必须注意如下配置:
1)如果设置 SkipmachineOOBE为true,则要对 windowsPE/amd64_Microsoft-Windows-Setup_neutral/UserData 进行设置
2)如果设置 SkipmachineOOBE为false,则设置其上面的 HideEULAPage设置等,不需要再设置windowsPE/amd64_Microsoft-Windows-Setup_neutral/UserData
amd64_Microsoft-Windows-UnattendedJoin_neutral/Identification:JoinWorkgroup 设置工作组OK,加域单独设置此处还未生效
7.oobeSystem
amd64_Microsoft-Windows-International-Core_neutral:设置语言
“zh-CN”,繁体中文为“zh-HK”,英文为“en-US”
InputLocale用于设置输入语言,此处用“en-US”;
LayerDriver为键盘的种类,除了日文和韩文,应该为“1”;
SystemLocale用于设置运行非Unicode程序时系统的默认语言;
UILanguage用于设置用户界面的语言;
UILanguageFallback表示当UILanguage选用小地区时,若程序没有该种语言,则跳到UILanguageFallback;
UserLocale指地区选项,包括日期、时间、数字等格式。
设置用户自动登录;设置管理员密码(下面两项都需要设置,AutoLogon的Administrator密码和AdministratorPassword的密码都要设置相同)
测试结果:如果只设置了
AutoLogon,则跳出“更改密码”界面;如果AutoLogon的Administrator密码为
空,AdministratorPassword项未启用,则跳出“更改密码”界面;如果不设置如果AutoLogon的Administrator密码
为空,AdministratorPassword设置了相应密码,则提示密码错误。
amd64_Microsoft-Windows-Shell-Setup_neutral/AutoLogon/Password
amd64_Microsoft-Windows-Shell-Setup_neutral/UserAccounts/AdministratorPassword
添加登陆后执行脚本(bat或ps1均可,需要管理员权限):
amd64_Microsoft-Windows-Shell-Setup_neutral/FirstLogonCommands 新建 AsynchronousCommand
注:FirstLogonCommands
下的脚本只在第一次登录时运行;还有一点是如果第一次运行PowerShell脚本的话,会不成功,因为默认情况下是禁止PowerShell脚本运行
的,所以第一次只能先运行批处理(Powershell.exe Set-ExecutionPolicy unrestricted
-force),然后再调用PowerShell脚本
直接运行PowerShell脚本,CommandLine格式如下:
%WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe c:\m.ps1
amd64_Microsoft-Windows-Shell-Setup_neutral/LogonCommands 新建 AsynchronousCommand
注:LogonCommands下的命令会在每次登陆时都运行一次
amd64_Microsoft-Windows-Shell-Setup_neutral/OOBE:跳过
MachineOOBE,即跳过Windows欢迎界面(user-account creation, language, and
time-zone settings will not be configured)
HideEULAPage:true 隐藏协议许可界面
HideWirelessSetupInOOBE:true 跳过无线网络设置
NetworkLocation:work 网络类型
ProtectYourPC:1自动获取所有补丁 2获取重要补丁 3不自动升级
SkipMachineOOBE:True(注:因为设置了 SkipMachineOOBE为True,所以上面4项不需要再设置)
===============================================================================
第一次自动登录-设置管理员密码-时区-语言-执行一次PowerShell脚本-计算机名称(已测)
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core"
processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>zh-CN</InputLocale>
<SystemLocale>zh-CN</SystemLocale>
<UILanguage>zh-CN</UILanguage>
<UILanguageFallback>zh-CN</UILanguageFallback>
<UserLocale>zh-CN</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup"
processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AutoLogon>
<Password>
<PlainText>false</PlainText>
<Value>YgBvAGMALgAxADIAMwBQAGEAcwBzAHcAbwByAGQA</Value>
</Password>
<Enabled>true</Enabled>
<LogonCount>1</LogonCount>
<Username>administrator</Username>
</AutoLogon>
<OOBE>
<SkipMachineOOBE>true</SkipMachineOOBE>
</OOBE>
<UserAccounts>
<AdministratorPassword>
<Value>YgBvAGMALgAxADIAMwBBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByAFAAYQBzAHMAdwBvAHIAZAA=</Value>
<PlainText>false</PlainText>
</AdministratorPassword>
</UserAccounts>
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<Order>1</Order>
<CommandLine>%WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe c:\m.ps1</CommandLine>
</SynchronousCommand>
</FirstLogonCommands>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Security-SPP-UX"
processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SkipAutoActivation>true</SkipAutoActivation>
</component>
<component name="Microsoft-Windows-Shell-Setup"
processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ComputerName>PCname1</ComputerName>
<TimeZone>China Standard Time</TimeZone>
</component>
</settings>
<cpi:offlineImage
cpi:source="catalog:e:/isotest/win2008r2_en_windows server 2008 r2
serverenterprise.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
=========================================================================
以下未测试:
windowsPE:Microsoft-Windows-International-Core-WinPE 设置PE阶段的语言类型
windowsPE:Microsoft-Windows-Setup 此处设置的fullname(用户名),organization(组织)只在PE阶段有效
windowsPE:Microsoft-Windows-Setup imageinstall:osimage:安装到可用分区,默认false,安装时自行选择
specialize: Microsoft-Windows-IE-InternetExplorer IE设置
OOBE:Microsoft-Windows-Shell-Setup/UserAccounts/ LocalAccounts 新建用户
配置用户默认配置(其他所有登陆到该计算机的用户都使用该配置文件):
在 4specialize阶段:Microsoft-windows-Shell-Setup | copyProfile 设置为true,在封装的时候会将当前用户的默认配置文件复制到默认用户的配置文件
跳过重置激活期限(slmgr /dlv):
在 4specialize阶段:Microsoft-windows-Security-SPP_neutral |SkipRearm :1
编辑注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\SkipRearm将其从0设置为1
注:
You must make sure that the <SkipRearm> setting is removed
from the final unattended file that is used to deploy computers in a
production environment. If <SkipRearm> is not removed from the
unattended file that is used to deploy computers in a production
environment, the KMS current client count does not increase for new clients that are added to the network.
The Windows Software Licensing Rearm program restores the Windows
system to the original licensing state. All licensing and registry data
related to activation is either removed or reset. Also, any grace period
timers are reset.
From:http://support.microsoft.com/kb/929828