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

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

更新时间:2019-07-21 11:12:16

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

 

问题描述

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

 

问题原因

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

 

解决方案

如何修改一台Windows实例的SID

Windows系统内置的sysprep命令可以将已安装的Windows镜像中删除特定的系统信息,其中包括SID。本文使用PowerShell的AutoSysprep.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盘。
    http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/40846/cn_zh/1542198598487/AutoSysprep.ps1
  7. 进入AutoSysprep.ps1脚本工具所在目录,执行如下命令,查看脚本工具说明。
    .\AutoSysprep.ps1 -help
    系统显示类似如下,具体的参数说明请参考更多信息
  8. 执行如下命令,运行脚本。
     .\AutoSysprep.ps1 -SkipRearm -Password "[$Password]" -PostAction "reboot"
    注:[$Password]为需要设置的密码。
  9. 等待一段时间,再次登录实例。
    注:如果您使用的是经典网络类型实例,需要使用管理终端连接Windows实例进行配置,在完成配置后,网络才可以连通。
  10. 执行如下命令,确认系统的SID发生改变。然后可以使用ECS实例搭建AD域环境。
    whoami /user

 

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

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

 

更多信息

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后停留在实例内部。

 

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.ps1的参数。
    .\AutoSysprep.ps1 -help
  • 如果没有特定要求,AutoSysprep会随机生成密码和主机名。

 

适用于

  • 云服务器 ECS

 

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