修改Windows实例SID以搭建域环境

avatar 2018年5月23日11:55:20 评论 578

问题现象

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

原因分析

使用同一个Windows镜像的几台实例,其SID(计算机安全标识符Security Identifier)是一样的。此时需要修改系统SID,以避免无法相互访问域,再进行域环境的搭建。

解决方法

Windows系统自带sysprep命令可以从已安装的Windows映像删除所有系统特定的信息,其中包括SID。脚本工具sysprep.ps1使用系统自带sysprep命令完成修改Windows SID。本文描述如何使用脚本工具sysprep.ps1修改系统SID。文档描述的内容适用于Windows Server 2008、Windows Server 2012和Windows Server 2016系统。

注意

  • 在修改系统SID前,建议您为系统盘创建快照,避免意外失败导致系统崩溃。
  • sysprep会将User Profile恢复为默认值,执行sysprep后会删除桌面上创建的文件。如果您希望执行脚本后自动删除,可以将文件放置在桌面上执行。

修改系统SID

按以下步骤修改系统SID。

  1. 远程连接Windows实例
  2. 下载脚本工具 sysprep.ps1,存放在C盘。
  3. 启动CMD,运行命令 powershell

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

  4. 运行命令 cd\ 切换路径到C盘根目录。
  5. 运行命令 .\Sysprep.ps1 -help 查看脚本说明。
    查看脚本说明
    参数说明

    参数 说明
    -skiprearm 默认将Windows操作系统恢复到原始授权许可状态,如不需恢复,添加该参数。
    -ReserveNetwork 运行脚本后保留经典网络实例的网络配置信息(IP、Subnet、Gateway、DNS),不会变动VPC网络类型ECS实例使用DHCP获取IP的配置。
    -skippassword 使用默认密码Aliyun1A。
    -ReserveHostname 保持实例主机名不变。
    -post_action 运行脚本后的后续操作。取值范围:shutdown | reboot | quit
  6. 运行命令 whoami /user 查看系统SID。
    WhoAmIUser
  7. 运行命令 .\Sysprep.ps1 -ReserveHostname -ReserveNetwork -skiprearm -post_action "reboot" 运行脚本。
  8. 在弹窗中输入密码,并单击 确定,使实例自动重启。
    ChangeAdministratorPasswd
  9. 远程连接Windows实例
  10. 运行命令 whoami /user 重新查看系统SID。

现在,您可以用ECS实例搭建域环境了。

注意事项

Windows Server 2008常见问题

常见问题1:执行命令.\Sysprep.ps1 -help查看脚本说明时报如图所示错误。

Symptom1

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

  1. Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

常见问题2:执行命令.\Sysprep.ps1 -ReserveHostname -ReserveNetwork -skiprearm -post_action "reboot"运行脚本时提示未进行数字签名报如图所示错误。

Symptom

解决方法:在CMD中运行以下命令。您可以参见参数说明自行设置。

  1. powershell -executionpolicy bypass -file c:\sysprep.ps1 -ReserveHostname -ReserveNetwork -skiprearm -post_action "reboot"

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: