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

  • A+
所属分类:Windows
高性能企业级服务器首台5折

问题现象

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

原因分析

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

解决方法

Windows系统自带

1
sysprep

命令可以从已安装的Windows映像删除所有系统特定的信息,其中包括SID。脚本工具sysprep.ps1使用系统自带

1
sysprep

命令完成修改Windows SID。本文描述如何使用脚本工具sysprep.ps1修改系统SID。文档描述的内容适用于Windows Server 2008、Windows Server 2012和Windows Server 2016系统。

注意

  • 在修改系统SID前,建议您为系统盘创建快照,避免意外失败导致系统崩溃。
  • 1
    sysprep

    会将User Profile恢复为默认值,执行

    1
    sysprep

    后会删除桌面上创建的文件。如果您希望执行脚本后自动删除,可以将文件放置在桌面上执行。

修改系统SID

按以下步骤修改系统SID。

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

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

  4. 运行命令 
    1
    cd\

     切换路径到C盘根目录

  5. 运行命令 
    1
    .\Sysprep.ps1 -help

     查看脚本说明。
    查看脚本说明
    参数说明

    参数 说明
    -skiprearm 默认将Windows操作系统恢复到原始授权许可状态,如不需恢复,添加该参数。
    -ReserveNetwork 运行脚本后保留经典网络实例的网络配置信息(IP、Subnet、Gateway、DNS),不会变动VPC网络类型ECS实例使用DHCP获取IP的配置。
    -skippassword 使用默认密码Aliyun1A。
    -ReserveHostname 保持实例主机名不变。
    -post_action 运行脚本后的后续操作。取值范围:shutdown | reboot | quit
  6. 运行命令 
    1
    whoami /user

     查看系统SID。
    WhoAmIUser

  7. 运行命令 
    1
    .\Sysprep.ps1 -ReserveHostname -ReserveNetwork -skiprearm -post_action "reboot"

     运行脚本。

  8. 在弹窗中输入密码,并单击 确定,使实例自动重启。
    ChangeAdministratorPasswd
  9. 远程连接Windows实例
  10. 运行命令 
    1
    whoami /user

     重新查看系统SID。

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

注意事项

  • 如果没有特定要求,运行以下命令时您需要修改密码。
    1. 1
      <span class="pln">powershell </span><span class="pun">-</span><span class="pln">executionpolicy bypass </span><span class="pun">-</span><span class="pln">file c</span><span class="pun">:</span><span class="pln">\sysprep</span><span class="pun">.</span><span class="pln">ps1 </span><span class="pun">-</span><span class="typ">ReserveHostname</span> <span class="pun">-</span><span class="typ">ReserveNetwork</span> <span class="pun">-</span><span class="pln">skiprearm </span><span class="pun">-</span><span class="pln">post_action </span><span class="str">"reboot"</span>
  • 如果是经典网络实例,您需要在第8步后通过管理终端登录实例完成配置,网络才可以连通。
  • 如果需要批量部署,按以下步骤操作避免重复执行脚本:
    1. 运行命令
      1
      .\Sysprep.ps1

      执行脚本。

    2. 输入密码后,单击 确定 完成配置。之后,实例处于关机状态,不要启动实例。
      New
    3. 创建 系统盘快照
    4. 通过 快照创建自定义镜像,并使用该 自定义镜像创建新的实例 或者 将其他实例的操作系统更换为该自定义镜像

Windows Server 2008常见问题

常见问题1:执行命令

1
.\Sysprep.ps1 -help

查看脚本说明时报如图所示错误。

Symptom1

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

  1. 1
    <span class="typ">Set</span><span class="pun">-</span><span class="typ">ExecutionPolicy</span> <span class="pun">-</span><span class="typ">ExecutionPolicy</span> <span class="typ">RemoteSigned</span>

常见问题2:执行命令

1
.\Sysprep.ps1 -ReserveHostname -ReserveNetwork -skiprearm -post_action "reboot"

运行脚本时提示未进行数字签名报如图所示错误。

Symptom

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

  1. 1
    <span class="pln">powershell </span><span class="pun">-</span><span class="pln">executionpolicy bypass </span><span class="pun">-</span><span class="pln">file c</span><span class="pun">:</span><span class="pln">\sysprep</span><span class="pun">.</span><span class="pln">ps1 </span><span class="pun">-</span><span class="typ">ReserveHostname</span> <span class="pun">-</span><span class="typ">ReserveNetwork</span> <span class="pun">-</span><span class="pln">skiprearm </span><span class="pun">-</span><span class="pln">post_action </span><span class="str">"reboot"</span>

发表评论

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