修改Windows实例的SID用于搭建域环境

修改Windows实例的SID用于搭建域环境

更新时间:2020-08-17 14:06:08

免责声明:本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

问题描述

使用同一个Windows Server镜像创建几台ECS实例后,实例之间无法互相访问AD域,或者无法同时加入AD域。

问题原因

使用同一个Windows Server镜像的几台实例中,其计算机安全标识符(SID,Security Identifier)相同,因此无法相互访问AD域。此时您需要修改实例SID,再搭建域环境。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

如何批量创建不同SID的实例

使用最新的公共镜像创建实例即可,因为最新的公共镜像已经修复此问题。

如何修改一台Windows实例的SID

Windows系统内置的sysprep命令可以将已安装的Windows镜像中删除特定的系统信息,其中包括SID。本文使用PowerShellAutoSysprep.ps1脚本文件,通过系统内置的sysprep命令修改Windows实例的SID。需要注意的是,sysprep命令会将User Profile恢复为默认值,执行sysprep命令后会删除桌面上创建的文件。如果您希望修复故障后自动删除脚本,可以将文件放置在桌面上执行。

  1. 给实例的系统盘创建快照,如何创建快照,请参见创建快照,避免意外导致系统崩溃。
  2. 登录实例,如何登录实例,请参见在本地客户端上连接Windows实例
  3. 登录系统终端,执行powershell命令进入PowerShell交互模式。
    说明:必须以管理员用户执行powershell命令。
  4. 执行cd\命令,切换至C盘根目录。
  5. 执行以下命令,查看系统的SID。
    whoami /user
    系统显示类似如下。
  6. 通过以下链接,下载AutoSysprep脚本工具,上传至实例的C盘。
    AutoSysprep脚本工具
  7. 进入AutoSysprep.ps1脚本工具所在目录,执行以下命令,查看脚本工具说明。
    .\AutoSysprep.ps1 -help
    系统显示类似如下,具体的参数说明请参见更多信息
  8. 执行以下命令,运行脚本。
     .\AutoSysprep.ps1 -SkipRearm -Password "[$Password]" -PostAction "reboot"
    说明:[$Password]为需要设置的密码。
  9. 等待一段时间,再次登录实例。
    说明:如果您使用的是经典网络类型实例,需要使用管理终端连接Windows实例进行配置,在完成配置后,网络才可以连通。
  10. 执行以下命令,确认系统的SID发生改变。然后可以使用ECS实例搭建AD域环境。
    whoami /user

更多信息

AutoSysprep.ps1脚本工具参数介绍以下所示:

  • -SkipRearm参数:保留Windows操作系统到当前授权许可状态。没有添加该参数时,AutoSysprep会恢复Windows实例到原始授权许可状态。
  • -Password参数:给实例重置密码。密码规则如下。
    长度为8至30个字符,不能以斜线(/)为密码首字符。必须同时包含大写英文字母、小写英文字母、数字和特殊符号中的三类字符。部分特殊符号以下所示。-Password参数默认值是由AutoSysprep随机生成。
    说明:如果您忘记设置密码,修改系统SID后可以在ECS管理控制台重置密码。
    ( ) ` ~ ! @ # $ % ^ & - _ + = | { } [ ] : ; ’ < > , . ? /
  • -Hostname参数:为实例重置主机名。主机名限制如下:
    主机名字符长度为2到15,不支持点号(.),不能全是数字。允许大小写英文字母、数字和短横线(-)。点号(.)和短横线(-)不能作为首尾字符,更不能连续使用。-Hostname参数默认值是由AutoSysprep随机生成。
  • -PostAction参数:运行脚本后的后续操作,选项介绍如下。
    • shutdown:默认选项,修改实例SID后停止实例。
    • reboot:修改实例SID后重启实例。
    • quit:修改实例SID后停留在实例内部。
  • -help参数:查看脚本工具的介绍,自定义的使用AutoSysprep.ps1的参数。

Windows Server 2008系统查看脚本说明时报错

问题现象

执行以下命令,查看脚本说明。

.\AutoSysprep.ps1 -help

系统显示类似如下。

解决方法

执行以下命令,增加权限。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Windows Server 2008系统运行脚本时提示未进行数字签名

问题现象

执行以下命令,运行脚本。

 .\AutoSysprep.ps1 -skiprearm -postaction "reboot"

系统显示类似如下。

Symptom

解决方法

登录系统终端,执行以下命令,运行脚本。

powershell -executionpolicy bypass -file c:\AutoSysprep.ps1 -skiprearm -postaction "reboot"

说明:如果没有特定要求,AutoSysprep会随机生成密码和主机名。

适用于

  • 云服务器ECS

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。