前言
上一篇我们说了关于账户和OOBE的相关知识,再上一篇内容里我们提到过无人值守,所以这篇文章我们着重来讲一下关于无人值守的相关内容,话不多说一起来看一下吧。
配置文件
当我们在系统部署的时候,有一些选项会需要手动操作设置,而这些选项就会在批量操作的时候造成不必要的重复劳动,为了解决这个问题呢,所以微软就给出了无人值守应答文件我们将相关项目的答案写在文件里,系统在遇到相对应的选项时就会自动使用我们的答案来进行应答。
而这个过程就无需手动操作,达成我们说的 “无人值守” 现在从NT6代开始,无人值守的配置文件已经升级为xml格式,功能上更加强大。
我这里先给大家放出来一份ES5的无人值守应答文件,供大家学习参考。
<?xml version-'1.0" encoding-'utf-8"?>
<unattend xmlns-"urn:schemas-microsoft-com:unattend">
settings pass-"specialize">
<component name-"Microsoft-Windows-Deployment" processorArchitecture-"amd64"
publicKeyToken-"31bf3856ad364e35" language="neutral" versionScope-"nonSxS"
xmIns:wcm-"http://schemas.microsoft.com/WMIConfig/2002/State"xmlns:xsi-"http://www.w3.org/2001/XxMLSchema- instance"s
<RunSynchronous>
<RunSynchronousCommand wcm:action-"add">
<0rder>1</Orders
<Path>%SystemDrive%Sysprep\ES5\EsDeploy.exe /InDeploy</Path>
<Description>InDeployc/Descriptions
</RunSynchronousCommands.
</RunSynchronous>
</components
<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"s
<CopyProfile>true</CopyProfile>
<Registeredskyfree>Skyfree</Registeredskyfree>
<Registereditsk.comsitsk.comc/Registereditsk.co
<TimeZone>China Standard Timec/TimeZone>
cComputerName>SK-20191031RFBJ</CorputerName>
</component:
ccomponent name-"Microsoft-Windows-UnattendedJoin" 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">
Identifications
<JoinWorkgroup>WorkGroup</JoinWorkgroup>
</Identification>
</component>
</settings>
<settings pass-"oobeSystem">
<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">
eFirstLogonCommands>
<SynchronousCommand wcm:action-"add">
<0rder>1</0rder>
<CommandLine>%SystemDrive%Sysprep\Es5\EsDeploy.exe /Logon</CommandLine> <Description>FirstLogonc/Descriptions
</SynchronousCommands
</FirstLogonCommands>
<LogonCommands>
<AsynchronousCommand wcm:action-"add">
<0rder>1</0rder>
<ComrandLine>XSysterDrive8Sysprep\vES5\EsDeploy.exe /Desktop</CommandLine> <Description>Desktop</Description>
</AsynchronousCommand>
</LogonCommandss
<00BE>
<NetworkLocation>Other</NetworkLocations
<ProtectYourPC>1</ProtectYourPC>
<HideEULAPage>true</HideEULAPage>
<HideWirelessSetupIn00BE>falsec/HideWirelessSetupIn00BE>
<SkipMachine00BE>falsec/SkipMachine00BE>
<SkipUser00BE>falsec/SkipUser00BE>
</00BE>
<RegisteredSkyfree>Skyfreec/RegisteredSkyfree>
<Registereditsk.comitsk.comc/Registereditsk.como
<TimeZone>China Standard Timec/TimeZones
<FolderLocations>
<ProfilesDirectory>D:\Users</ProfilesDirectory>
</FolderLocations>
cUserAccountss
cLocalAccounts>
<LocalAccount wcm:action-"add">
<Name>PCMgr</Name>
<Group>Administrators</Group>
<Password>
<Value>abc123</Value>
<PLainText>truec/PlainText>
c/Password>
</LocalAccount>
<LocalAccount wcm:action-"add"s
<Name>User1</Name>
Group>Users</Group>
/LocaLAccount>
<LocalAccount wcm:action="add"> <Name>User2</Names
<Group>Users</Group>
</LocalAccounts
/LocaLAccountss
</UserAccounts>
cAutologon>
cEnabled>truec/Enabled>
<Username>PCMgr</Username>
<Password>
<Value>abc123</Value>
<PlainText>true</PlainText> </Password>
<LogonCount>1</LogonCount>
</Autologon>
</component>
e/settings>
</unattend>
上面的代码就是一份完整的ES5的无人值守应答文件,而自从NT6代开始就变成了.xml文件的基本格式是以标记“...”为一个段(或值),如:
<Name>PCMgr</Namex
标记也可以写在不同的行
<Name>
PCMgr
</Name>
标记还可以嵌套
<Autologon>
<Enabled>true</Enabled>
<Username>PCMgr</Username>
<Password>
<Value>abc123</Value>
<PlainText>true</PlainText>
</Password>
<LogonCount>1</LogonCount>
c/Autologon>
无人值守配置项浅析
NT6的无人值守配置文件的主要内容是由阶段和组件两种结构组合而成的,阶段主要包括阶段包括windowsPE、offlineServicing、generalize、specialize、auditSystem、auditUser、oobeSystem。一般而言generalize=>封装阶段、specialize=>部署阶段、oobeSystem=>OOBE阶段将组件插入到上述三个阶段中,即可完成对系统部署的无人值守。那么ES5的无人值守配置文件解析如下:
<!-- 封装阶段 -->
<settings pass="generalize">
<!-- Microsoft-Windows-PnpSysprep 组件 -->
<component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" ...>
<!-- 不清理非当前设备 (驱动) -->
<DoNotCleanUpNonPresentDevices>false</DoNotCleanUpNonPresentDevices>
<!-- 保留所有已安装的设备 (驱动) -->
<PersistAllDeviceInstalls>false</PersistAllDeviceInstalls>
<!-- 当且仅当源计算机与目标计算机硬件完全一致时才将上述二值设置为 true -->
</component>
</settings>
<!-- 部署阶段 -->
<settings pass="specialize">
<!-- Microsoft-Windows-Deployment 组件 -->
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" ...>
<!-- 部署中执行的命令或程序 -->
<RunSynchronous>
<!-- 添加一个执行项目 (后续添加时再写一组) -->
<RunSynchronousCommand wcm:action="add">
<!-- 项目的执行顺序, 后续递增 -->
<Order>1</Order>
<!-- 执行的命令或程序 (支持系统环境变量/支持参数) -->
<Path>%SystemDrive%\Sysprep\InDeploy.exe</Path>
<!-- 关于本项目的描述 -->
<Description>InDeploy</Description>
</RunSynchronousCommand>
</RunSynchronous>
</component>
<!-- Microsoft-Windows-Shell-Setup 组件 -->
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" ...>
<!-- 使封装用户的配置成为新建用户的配置默认值 -->
<CopyProfile>true</CopyProfile>
<!-- 注册用户 -->
<RegisteredOwner>Skyfree</RegisteredOwner>
<!-- 注册组织 -->
<RegisteredOrganization>itsk.com</RegisteredOrganization>
<!-- 默认时区 -->
<TimeZone>China Standard Time</TimeZone>
<!-- 计算机名 -->
<ComputerName>SK-20191031RFBJ</ComputerName>
</component>
<!-- Microsoft-Windows-UnattendedJoin 组件 -->
<component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64" ...>
<Identification>
<!-- 加入工作组 -->
<JoinWorkgroup>WorkGroup</JoinWorkgroup>
</Identification>
</component>
</settings>
<!-- OOBE阶段 -->
<settings pass="oobeSystem">
<!-- Microsoft-Windows-Shell-Setup 组件 -->
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" ...>
<!-- 首次登录时执行的命令或程序 -->
<FirstLogonCommands>
<!-- 添加一个执行项目 (后续添加时再写一组) -->
<SynchronousCommand wcm:action="add">
<!-- 项目的执行顺序, 后续递增 -->
<Order>1</Order>
<!-- 执行的命令或程序 (支持系统环境变量/支持参数) -->
<CommandLine>%SystemDrive%\Sysprep\FirstLogon.exe</CommandLine>
<!-- 关于本项目的描述 -->
<Description>FirstLogon</Description>
</SynchronousCommand>
</FirstLogonCommands>
<!-- 进入桌面时执行的命令或程序 -->
<LogonCommands>
<!-- 添加一个执行项目 (后续添加时再写一组) -->
<AsynchronousCommand wcm:action="add">
<!-- 项目的执行顺序, 后续递增 -->
<Order>1</Order>
<!-- 执行的命令或程序 (支持系统环境变量/支持参数) -->
<CommandLine>%SystemDrive%\Sysprep\Desktop.exe</CommandLine>
<!-- 关于本项目的描述 -->
<Description>Desktop</Description>
</AsynchronousCommand>
</LogonCommands>
<!-- OOBE设置 -->
<OOBE>
<!-- 网络位置 (家庭Home/工作Work/公共Other) -->
<NetworkLocation>Other</NetworkLocation>
<!-- 获取更新 (全部1/仅重要2/关闭3) -->
<ProtectYourPC>1</ProtectYourPC>
<!-- 隐藏最终用户许可协议页面 -->
<HideEULAPage>true</HideEULAPage>
<!-- 隐藏Wifi设置页面 -->
<HideWirelessSetupInOOBE>false</HideWirelessSetupInOOBE>
<!-- 跳过机器OOBE -->
<SkipMachineOOBE>false</SkipMachineOOBE>
<!-- 跳过用户OOBE -->
<SkipUserOOBE>false</SkipUserOOBE>
</OOBE>
<!-- 注册用户 -->
<RegisteredOwner>Skyfree</RegisteredOwner>
<!-- 注册组织 -->
<RegisteredOrganization>itsk.com</RegisteredOrganization>
<!-- 默认时区 -->
<TimeZone>China Standard Time</TimeZone>
<!-- 文件夹定位 -->
<FolderLocations>
<!-- 用户目录位置 -->
<ProfilesDirectory>D:\Users</ProfilesDirectory>
<!-- ProgramData 目录位置, 注意并不是 Program Files 目录 -->
<ProgramData>D:\ProgramData</ProgramData>
</FolderLocations>
<!-- 用户账户配置 -->
<UserAccounts>
<!-- 本地账户 -->
<LocalAccounts>
<!-- 添加一个账户 -->
<LocalAccount wcm:action="add">
<!-- 账户名 -->
<Name>PCMgr</Name>
<!-- 账户用户组 -->
<Group>Administrators</Group>
<!-- 密码 -->
<Password>
<!-- 密码值 -->
<Value>abc123</Value>
<!-- 密码在当前文件中为明文 -->
<PlainText>true</PlainText>
</Password>
</LocalAccount>
<!-- 再添加一个账户 -->
<LocalAccount wcm:action="add">
<Name>User1</Name>
<Group>Users</Group>
</LocalAccount>
<!-- 再添加一个账户 -->
<LocalAccount wcm:action="add">
<Name>User2</Name>
<Group>Users</Group>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
<!-- 自动登录 -->
<AutoLogon>
<!-- 是否启用, 启用true/不启用false -->
<Enabled>true</Enabled>
<!-- 自动登录的账户 -->
<Username>PCMgr</Username>
<!-- 密码 -->
<Password>
<!-- 密码值 -->
<Value>abc123</Value>
<!-- 密码在当前文件中为明文 -->
<PlainText>true</PlainText>
</Password>
<!-- 自动登录次数 -->
<LogonCount>1</LogonCount>
</AutoLogon>
</component>
</settings>
知识扩展
既然聊到了这里,那么就给大家再说一下WSIM翻译过来就是系统映像管理器,这是微软官方软件,是以图形化、模块化的方式快捷的配置Windows系统映像的各项功能,最终输出xml配置文件。
系统部署无人值守配置文件中的项目,只是整个配置文件的子集WSIM的功能繁多但是配备有详细的帮助文档,在这里就不再尽享详细说明,感兴趣的可以去了解一下,关于封装系统部署的项目基本上已经在上一节全部解释过了,如果感兴趣可以去WSIM里看看它们所对应的位置。
相关问题解答
无人值守配置文件放在哪里?
储存路径为:系统盘:\Windows\Panther\Untitled.xml
WSIM在哪里下载?
- WSIM是微软Windows ADK工具包的一部分具体链接:https://docs.microsoft.com/zh-cn/windows-hardware/get-started/adk-install
是否需要学习 WSIM 的全部功能
- 这个问题就像之前讨论的VMware所有功能一样,系统封装所用到的功能只是整个WSIM配置的一部分,只要充分掌握了这一部分就对日常的系统封装部署操作没有阻碍了。
封装时导入无人值守配置文件的方法?
- 如果你是用的ES5这类的封装辅助工具,无人值守文件会自动生成并导入,如果你是手动封装的话,需要在运行sysprep.exe时添加/unatten参数。例如下面的这个。sysprep.exe /unattend:D:\Unattend.xml
最后
今天的教程就到这里啦,我们改天再会~
想要了解更多系统相关知识,不妨关注一下
公众号:千源网络技术
可以在文章下留言你们想了解的问题,后期会更新哦~
,