操作场景
Windows操作系统是通过安全标识符(SID)对计算机和用户的识别。由于基于同一镜像生产的云服务器实例 SID 相同,会引起无法入域的问题。如果您需要搭建 Windows 域环境,则需要通过修改 SID 以达到入域的目的。本文档以 Windows Server 2012 操作系统云服务器为例,介绍如何使用系统自带sysprep 以及 sidchg 工具修改 SID。
注意本说明仅适用于 Windows Server 2008 R2 、Windows Server 2012 以及Windows Server 2016及更高版本。
如果有批量修改 SID 的需求,可通过制作自定义镜像(选择 “执行 sysprep 制作镜像”)解决。
修改云主机SID可能导致数据丢失或系统损坏,建议您提前做好数据备份。
操作步骤
使用sysprep修改SID
注意1. 使用 sysprep 修改 SID 后,系统参数很多都被重新设置,包括 IP 配置信息等,您必须手动重新设置。
2. 使用 sysprep 修改 SID 后,C:\Users\Administrator 将会被重置,系统盘部分数据将被清理,请注意做好数据备份。
- 使用远程登录方式登录云主机。
- 在操作系统界面,点击运行,输入cmd,按Enter,打开管理员命令行工具。
在管理员命令行工具中,执行以下命令,保存当前网络配置。
ipconfig /all
- 以管理员身份使用 PowerShell 执行以下命令。
$unattendContent = @"
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<NetworkLocation>Work</NetworkLocation>
<ProtectYourPC>3</ProtectYourPC>
<SkipUserOOBE>true</SkipUserOOBE>
<SkipMachineOOBE>true</SkipMachineOOBE>
</OOBE>
</component>
</settings>
</unattend>
"@
$unattendContent | Out-File -FilePath C:\Windows\System32\Sysprep\unattend.xml -Encoding UTF8 -Force
C:\Windows\System32\Sysprep\sysprep.exe /generalize /oobe /shutdown /unattend:C:\Windows\System32\Sysprep\unattend.xml
- 执行完成后,系统会自动关机。此时,您可在云平台制作私有镜像。
- 启动云主机进入操作系统后执行下方命令,验证SID是否已修改,返回类似如下信息,则表示SID已完成修改。
whoami /user
- 根据步骤2保存的网络配置信息,重新设置网卡相关信息(如IP地址、网关地址、DNS等)。
使用sidchg修改SID
- 登录云主机。
- 通过IE浏览器访问和下载sidchg工具:sidchg工具下载地址。
说明Server版本请下载64bit版本。
- 通过执行如下命令修改云主机的SID。
sidchg64-3.0j.exe /R
说明/R表示修改后自动重启,/S表示修改后关闭,使用详情请参照SIDCHG官方说明。
- 根据界面提示,输入
license key
或者trial key
,按Enter。 - 根据界面提示,输入"Y",按Enter。
- 在修改SID的提示框中,单击确定,进行SID重置,重置过程中,系统将会被重启如下图所示:
- 待完成重启后,右键单击>运行,输入
cmd
,按Enter,打开管理员命令行工具,执行命令whoami /user
,验证SID是否已修改。