冯海滨博客

当前位置:   网站首页 >> 系统

阿里云ecs服务器修改 Windows 实例 SID 以搭建域环境

--------------------广告位招租--------------------

本文描述了如何使用 PowerShell 脚本 AutoSysprep.ps1 修改 Windows 实例系统 SID。适用于 Windows Server 2008、Windows Server 2012 和 Windows Server 2016 实例通过修改 Windows 实例 SID 以搭建 AD 域环境。

问题现象

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

原因分析

使用同一个 Windows 镜像的几台实例,其 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. 启动 CMD。

  4. 运行命令 powershell 进入 PowerShell 交互模式。

    注意:如果您不是管理员用户,必须以管理员身份运行 PowerShell。

  5. 运行命令 cd\ 切换路径到C盘根目录。

  6. 运行命令 whoami /user 查看系统 SID。

  7. 下载脚本工具 AutoSysprep,存放在 C 盘。如果您的实例能访问公网,可以运行以下命令下载脚本工具 AutoSysprep。

  8. wget http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/40846/cn_zh/1542198598487/AutoSysprep.ps1 -outfile AutoSysprep.ps1
  9. 运行命令 .\AutoSysprep.ps1 -help 查看脚本说明。

    查看脚本说明

    参数说明

    参数说明
    -SkipRearm保留 Windows 操作系统到当前授权许可状态。没有添加该参数时,AutoSysprep 会恢复 Windows 实例到原始授权许可状态。
    -Password为实例重置密码。密码规则:

    默认值:AutoSysprep 随机生成。

    *注意:如果您忘记设置密码,修改系统 SID 后可以在 ECS 管理控制台 重置密码
    -Hostname为实例重置主机名。主机名限制:

    默认值:AutoSysprep 随机生成。

    -PostAction运行脚本后的后续操作。取值范围:
    • shutdown(默认):修改实例 SID 后停止实例。

    • reboot:修改实例 SID 后重启实例。

    • quit:修改实例 SID 后停留在实例内部。

    • 字符长度为 [2, 15],不支持点号(.),不能全是数字。允许大小写英文字母、数字和短横线(-)。点号(.)和短横线(-)不能作为首尾字符,更不能连续使用。

      长度为8至30个字符,不能以斜线号(/)为密码首字符。必须同时包含大写英文字母、小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是()`~!@#$%^&-_+=|{}[]:;’<>,.?/

      执行以下命令运行脚本。其中 Aliyun1! 为下次远程连接实例的用户密码,您可以根据自己的实际情况修改。

      .\AutoSysprep.ps1 -SkipRearm -Password "Aliyun1!" -PostAction "reboot"


  10. 再次远程连接 Windows 实例。

    注意:如果您使用的是经典网络类型实例,需要通过 管理终端登录实例 完成配置,网络才可以连通。

  11. 运行命令 whoami /user 重新查看系统 SID。

    新的SID

当实例 SID 改变后,您可以使用 ECS 实例搭建 AD 域环境了。

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

当您使用了同一个 Windows Server 镜像创建的几台 ECS 实例后,按以下步骤操作避免重复执行脚本:

根据 如何修改一台 Windows 实例 SID 中描述的操作步骤 1 至 步骤 8,为其中一台实例修改系统 SID。

执行以下命令运行脚本。其中 Aliyun1! 为下次远程连接实例的用户密码,您可以根据自己的实际情况修改。完成配置后,实例处于关机状态,不要启动实例。

.\AutoSysprep.ps1 -Password "Aliyun1!"
  1. 在 ECS 管理控制台上为实例创建 系统盘快照

  2. 通过 快照创建自定义镜像,并使用该 自定义镜像创建新的实例 或者 将其他实例的操作系统更换为该自定义镜像

FAQ:Windows Server 2008 查看脚本说明时报错

问题现象:执行命令.\AutoSysprep.ps1 -help 时报如图所示错误。


Symptom1


解决方法:运行以下命令放开限制。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

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

问题现象:执行命令 .\AutoSysprep.ps1 -skiprearm -postaction "reboot" 时报如图所示错误。

Symptom

解决方法:在 CMD 中运行以下命令。您也可以运行 .\AutoSysprep.ps1 -help 参阅参数说明,并自定义以下命令。

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

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



发表我的评论

Hi,您需要填写昵称和邮箱!

  • 必填项