有奖捉虫:云通信与企业服务文档专题,速来> HOT
文档中心 > 云服务器 > 运维指南 > 系统相关 > 通过 Sysprep 实现云服务器入域后 SID 唯一

操作场景

对于需要入域且使用域账号登录 Windows 云服务器的用户,可在创建自定义镜像前,执行 Sysprep 操作以确保在实例入域后 SID 唯一。否则,通过自定义镜像创建的云服务器会因为包含了和原实例相关的信息(如具有相同的 SID 信息),导致入域失败。如果您的 Windows 云服务器不需要入域等操作,可以跳过此操作。
本文以 Windows Server 2012 R2 64位操作系统为例,指导您在 Windows 操作系统上执行 Sysprep,使得 Windows 云服务器入域后 SID 唯一。
更多 Sysprep 信息可参考:https://technet.microsoft.com/zh-cn/library/cc721940(v=ws.10).aspx

注意事项

Windows 云服务器必须为正版 Windows 操作系统,且已激活。
如您的 Windows 云服务器通过非公共镜像方式创建,该云服务器仅支持使用原镜像自带的 Sysprep 版本,且 Sysprep 必须始终从 %WINDIR%\\system32\\sysprep 目录运行。
必须保证剩余 Windows 重置计数 ≥ 1,否则不能执行 Sysprep 封装。 您可以通过执行 slmgr.vbs /dlv 命令,查看剩余 Windows 重置计数。
Windows 云服务器中的 Cloudbase-Init 账户为 Cloudbase-Init 代理程序的内置账户,用于云服务器启动时获取元数据并执行相关配置。如果您修改、删除此账户或者卸载 Cloudbase-Init 代理程序,会导致由此云服务器创建的自定义镜像生成的云服务器在初始化时,自定义信息注入失败。不建议修改或删除 Cloudbase-init 账户。

前提条件

已使用 Administrator 账号 登录 Windows 云服务器

操作步骤

1. 在操作系统界面,单击

,打开 Windows PowerShell 窗口。
2. 在 Windows PowerShell 窗口中,执行以下命令,进入 Cloudbase-init 工具的安装路径。
说明:
以 Cloudbase-init 工具安装在 C:\\Program Files\\Cloudbase Solutions\\ 目录下为例。
cd 'C:\\Program Files\\Cloudbase Solutions\\Cloudbase-Init\\conf'
3. 执行以下命令,对 Windows 系统进行封装。
注意:
执行以下命令时,命令必须包含/unattend:Unattend.xml,否则会重置您当前云服务器的用户名、密码等重要配置信息。后续使用此镜像创建云服务器时,若登录方式选择了“保留镜像设置”,启动云服务器后需要手动重置该云服务器的用户名和密码。
执行以下命令后,云服务器会自动关机。为了保证后续通过此镜像创建的云服务器 SID 唯一,在创建自定义镜像之前,请不要重新启动该台云服务器,否则此操作将仅对当前云服务器生效。
针对 Windows Server 2012 以及 Windows Server 2012 R2 的操作系统,执行以下命令后,该云服务器的账户(Administrator)和密码会被清除。待重新启动云服务器后,请重置您的账户和密码,并妥善保管新设置的密码。具体操作请参见 重置实例密码
C:\\Windows\\System32\\sysprep\\sysprep.exe /generalize /oobe /unattend:Unattend.xml
4. 参见 创建自定义镜像,将执行了 Sysprep 操作的云服务器实例制作成镜像,并使用该镜像创建云服务器实例。 即可实现所有新建的云服务器实例入域后具有唯一的 SID。
说明:
您可以通过执行 whoami /user 命令,查看云服务器的 SID。