更新时间:2024-04-22 GMT+08:00
        
          
          
        
      
      
      
      
      
      
      
      
  
      
      
      
        
Windows Server 2012裸金属服务器如何修改SID值?
操作背景
SID也就是安全标识符(Security Identifiers),是标识用户、组和计算机账户(管理员账户)的唯一号码。在第一次创建该账户时,将给网络上的每一个账户发布一个唯一的SID。SID由计算机名、当前时间、当前用户态线程的CPU耗费时间的总和三个参数决定以保证它的唯一性。
一个完整的SID包括:
- 用户和组的安全描述
 - 48-bit的ID authority
 - 修订版本
 - 可变的验证值(Variable sub-authority values)
 
例如:S-1-5-21-287469276-4015456986-3235239863-500
| 
        S  | 
      
        1  | 
      
        5  | 
      
        21-287469276-4015456986-3235239863  | 
      
        500  | 
     
| 
        表示该字符串是SID  | 
      
        SID的版本号  | 
      
        指颁发机构,这里是NT,值是5  | 
      
        表示一系列的子颁发机构  | 
      
        标志域内的账户和组。  | 
     
目前,所有Windows Server 2012裸金属服务器拥有相同的SID,对于集群部署场景,需要按照本指导修改SID,以保证唯一性。
操作步骤
- 登录裸金属服务器操作系统。
 - 单击左下角的
图标,选择“Windows PowerShell”,输入whoami /user命令查看机器的SID值。
    图1 查看SID初始值
     - 修改Cloudbase-init的配置文件。
    
- 分别打开“cloudbase-init.conf”和“cloudbase-init-unattend.con”文件。
      
文件所在目录:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf
 - 为两个配置文件都增加一行“first_logon_behaviour=no”。
      
[DEFAULT] username=Administrator groups=Administrators first_logon_behaviour=no netbios_host_name_compatibility=false metadata_services=cloudbaseinit.metadata.services.httpser inject_user_password=true ...
 - 删除“cloudbase-init-unattend.conf”配置文件中的“cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin”。
      图2 配置文件修改示例
       
 - 分别打开“cloudbase-init.conf”和“cloudbase-init-unattend.con”文件。
      
 - 打开命令提示符,输入如下命令打开Sysprep窗口。
    
进入目录:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf> 输入命令:C:\Windows\System32\Sysprep\sysprep.exe /unattend:Unattend.xml
 - Windows Server 2012的Sysprep版本是3.14,按照下图进行设置,单击“OK”开始清理系统。
    图3 System Preparation Tool设置
     - 清理完成会自动重启,然后系统需要重新封装,重新解包。重启完成后,Windows系统需要重新设置密码,详细操作请参见“重置裸金属服务器密码”。
 - 登录裸金属服务器操作系统,按照2的方法再次查看SID值。
    图4 查看SID值(修改后)
    可以看到,SID已被修改为新的值。
 
   父主题: 操作系统类