# （可选）执行Sysprep
#### 操作场景
执行Sysprep操作可以确保在弹性云服务器加入域后SID唯一。对于需要加入域且使用域账号登录Windows操作系统的用户，在创建私有镜像前，需要执行[Sysprep](https://technet.microsoft.com/zh-cn/library/cc721940(v=ws.10).aspx)操作。否则，镜像会包含和原云服务器相关的信息，特别是SID信息。SID是 Windows系统的唯一标识，多台服务器相同SID会导致域登录失败。如果您的Windows系统不需要加入域等操作，您可以选择不执行Sysprep操作。
在Cloudbase-Init安装完成后，请确认弹性云服务器是否需要加入域，或是否需要保证SID唯一。如果是，请按照本节指导执行Sysprep。
#### 前提条件
- 请使用Administrator用户执行Sysprep。
- 一个全新激活的Windows弹性云服务器每次最多执行一次Sysprep，不能连续多次执行。
- 如果弹性云服务器是由镜像文件创建而来，那么仅支持使用原镜像自带的Sysprep版本，且Sysprep必须始终从"%WINDIR%\\system32\\sysprep"目录运行。
- Windows必须保证是正版激活状态，并且必须保证剩余Windows重置计数大于等于1，否则不能执行Sysprep封装。 在Windows命令行中输入以下命令，在"Windows Script Host"弹出窗中查看还能执行Sysprep的次数。
  **slmgr.vbs /dlv**
  当"剩余Windows重置计数"的值为0时，无法执行Sysprep。
  图1Windows Script Host   
  ![](https://support.huaweicloud.com/usermanual-ims/zh-cn_image_0125452070.png "点击放大") 
 
#### 操作步骤
1. 进入Cloudbase-Init工具安装路径。 以Cloudbase-Init工具安装在"C:\\Program Files\\Cloudbase Solutions\\"目录下为例。请切换至C盘根目录下，执行以下命令，进入安装目录。
   **cd C:\\Program Files\\Cloudbase Solutions\\Cloudbase-Init\\conf**
   
2. 执行以下命令，对Windows系统进行封装。 **C:\\Windows\\System32\\sysprep\\sysprep.exe /generalize /oobe /unattend:Unattend.xml**
   ![](https://support.huaweicloud.com/usermanual-ims/public_sys-resources/caution_3.0-zh-cn.png)
   - 若提示这个文件不存在Unattend.xml，请先执行cd C:\\Program Files\\Cloudbase Solutions\\Cloudbase-Init\\conf命令。
   
   - Windows在运行Sysprep工具时，会删除内置管理员账号（Built-in Administrator，对应路径为C:/Users/Administrator）下的用户配置文件，包括桌面、文档、AppData 等子目录；非内置管理员账号（例如：手动创建的本地管理员）以及 Public Profile (C:/Users/Public)，在执行 Sysprep 时不会被删除。
   
   - 请务必在执行该命令时，包含"/unattend:Unattend.xml"，否则您当前弹性云服务器的用户名密码等重要配置信息会被重置，后续使用该Windows私有镜像创建的弹性云服务器启动后仍然需要手动执行操作系统设置。
   
   - 执行完该命令后，弹性云服务器会自动关机。请在关机后使用该弹性云服务器创建镜像，可以保证后续使用该镜像创建的弹性云服务器SID唯一。如果重新启动已经执行过Sysprep操作的Windows弹性云服务器，则执行的Sysprep操作仅对当前弹性云服务器生效，创建镜像前需要重新执行Sysprep操作。
   
   - 对于Windows Server 2012以及Windows Server 2012 R2操作系统，当弹性云服务器执行完Sysprep操作后，弹性云服务器的Administrator账号密码会被清除，请您登录弹性云服务器后重新手动设置Administrator账号的密码，此时在管理控制台界面中设置的弹性云服务器密码将无效，请您妥善保管重新设置的密码。
   
   - 使用的Windows操作系统需要采用域账号登录时，请务必在创建私有镜像前执行Sysprep操作。执行Sysprep操作带来的影响请参考"[Windows操作系统制作私有镜像为什么要执行Sysprep操作？](https://support.huaweicloud.com/ims_faq/ims_faq_0024.html)"。
   
   - Windows弹性云服务器中的Cloudbase-Init账户为Cloudbase-Init代理程序的内置账户，用于弹性云服务器启动的时候获取元数据并执行相关配置。如果用户修改、删除此账户或者卸载Cloudbase-Init代理程序会导致通过此弹性云服务器创建的Windows私有镜像所生成新的弹性云服务器初始化的自定义信息注入失败。因此，不建议修改或删除Cloudbase-Init账户。
    
   图2执行Sysprep操作   
   ![](https://support.huaweicloud.com/usermanual-ims/zh-cn_image_0125511073.png "点击放大") 
 
#### 后续操作
1. 使用执行完Sysprep操作后的弹性云服务器创建私有镜像，具体操作请参考[通过弹性云服务器创建系统盘镜像](https://support.huaweicloud.com/usermanual-ims/ims_01_0201.html)。
2. 使用该镜像即可批量创建弹性云服务器，且所有新创建的弹性云服务器具有唯一的SID。 执行以下命令查询弹性云服务器SID。
   **whoami /user**
   图3执行Sysprep前弹性云服务器SID   
   ![](https://support.huaweicloud.com/usermanual-ims/zh-cn_image_0203204308.png "点击放大")
   图4执行Sysprep后弹性云服务器SID   
   ![](https://support.huaweicloud.com/usermanual-ims/zh-cn_image_0203204309.png "点击放大") 
 
