# 将AD域由2022提升为2025部署过程

## 一、192.168.0.4这台win2025 域主机提升为辅助域控

- 当前主域控：**192.168.0.5**（Windows Server 2022）
- 新服务器：**192.168.0.4**（Windows Server 2025），已经加入域，但还不是域控制器
- 目标：将 0.4 提升为 **辅助域控（Additional Domain Controller, ADC）**

下面是详细步骤：

---

## **1.1：检查前提条件**

1. 确保 192.168.0.4 能够解析主域控的 DNS：

```powershell
nslookup shuncom.local
nslookup s-dns6.shuncom.local

```

2. 确保 0.4 与 0.5 网络互通，端口 135、389、636、3268、3269、445 等开放（域控所需端口）。
3. 确保 0.5 上的 Active Directory 状态正常：

```powershell
dcdiag /v /c /e
repadmin /showrepl

```

4. 确保 0.4 的计算机名正确，建议使用 **简短且唯一的主机名**，不要和现有 DC 冲突。

---

## **1. 2：在 192.168.0.4 安装 AD DS 角色**

1. 打开 PowerShell（管理员）：

```powershell
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools

```

2. 安装完成后，会提示需要 **配置域控制器**。

---

## **1. 3：使用 `AD DS 配置向导` 提升为辅助域控**

1. 在 192.168.0.4 打开 **服务器管理器 → AD DS → 更多操作 → 将此服务器提升为域控制器**。
2. 选择 **添加到现有域**：
    
    
    - 域名：`shuncom.local`
    - 凭据：使用 **域管理员账户**（如 <Administrator@shuncom.local>）
3. 选择 **域控制器选项**：
    
    
    - **DNS 服务器**（建议勾选）
    - **全局目录（GC）**（建议勾选）
    - 不要勾选 “只读域控制器（RODC）”，除非需要只读模式
4. 指定 **AD DS 数据库、日志和 SYSVOL 的路径**（默认即可或根据公司策略调整）
5. 输入 **安全还原模式密码（DSRM）**
6. 系统会检查前置条件，如果一切正常，点击 **安装**。

> 安装完成后，服务器会自动重启。

---

## **1. 4：检查提升是否成功**

1. 查看 0.4 是否成为域控：

```powershell
Get-ADDomainController -Filter * | ft Name,IPv4Address,IsGlobalCatalog,Domain,Site

```

2. 检查复制状态：

```powershell
repadmin /showrepl
dcdiag /v /c /e

```

3. 检查 DNS：

```powershell
nslookup
set type=SRV
_ldap._tcp.dc._msdcs.shuncom.local

```

4. 确认 FSMO 角色还在 0.5：

```powershell
netdom query fsmo

```

---

## **1. 5：同步完成后再考虑主域控迁移**

- 0.4 成功成为辅助域控后，FSMO 角色仍在 0.5。
- 之后才可以按照你之前计划，把 0.4 提升为主域控（迁移 FSMO、调整 IP 等）。

---

## 二、 **把 192.168.0.6 这台 Windows Server 2022 域控制器 (辅助域控) 降级退出域**

---

# 2.1、准备工作

1. **确认它是辅助域控**  
    在任意一台 DC 上执行：
    
    ```powershell
    netdom query fsmo
    
    ```
    
    确认 192.168.0.6 没有持有 FSMO 角色（如果有，要先把 FSMO 角色转移到其他域控）。
2. **确认复制正常**  
    在 192.168.0.6 上执行：
    
    ```powershell
    dcdiag /v
    repadmin /showrepl
    
    ```
    
    确认没有严重错误，避免 AD 数据不一致。

---

# 2.2、降级 192.168.0.6 域控

有 **图形界面** 和 **PowerShell** 两种方式：

### 方法一：图形界面（Server Manager）

1. 登录 192.168.0.6，打开 **Server Manager**。
2. 选择 **Manage → Remove Roles and Features**。
3. 找到 **Active Directory Domain Services (AD DS)**，取消勾选。
4. 系统会提示“降级域控制器 (Demote this domain controller)”，点击进入向导。
5. 在向导里：
    
    
    - **不要勾选 “This domain controller is the last domain controller in the domain”**（因为还有其他 DC）。
    - 输入 DSRM 密码。
6. 完成后系统会自动重启，192.168.0.6 将从 DC 降级为域成员服务器。

---

### 方法二：PowerShell（推荐，简洁）

在 192.168.0.6 上以管理员身份运行 PowerShell：

```powershell
# 安全降级域控
Uninstall-ADDSDomainController `
  -DemoteOperationMasterRole:$false `
  -RemoveApplicationPartitions `
  -Credential (Get-Credential) `
  -ForceRemoval:$false `
  -LocalAdministratorPassword (ConvertTo-SecureString "YourLocalAdminPassw0rd!" -AsPlainText -Force) `
  -Force

```

参数说明：

- `-Credential`：输入有域管理员权限的账号。
- `-LocalAdministratorPassword`：降级后本机会变成本地成员服务器，这里设置本地管理员密码。
- `-ForceRemoval:$false`：正常情况下不强制，保持数据复制一致。

降级完成后，192.168.0.6 会自动重启，回到域成员身份。

---

# 2.3、降级后清理工作

1. **确认 AD 里不再有旧 DC 对象**  
    在任意剩余 DC 上打开 **Active Directory Users and Computers (ADUC)**，展开 **Domain Controllers**，确认 192.168.0.6 不在里面。
2. **确认 DNS 记录清理**  
    打开 DNS 管理器，清理 192.168.0.6 的 A 记录、SRV 记录（\_msdcs 子域下）。
3. **检查复制健康**  
    在主域控上执行：
    
    ```powershell
    repadmin /replsummary
    dcdiag /v
    
    ```
    
    确认没有报错。

---

✅ 最终效果：

- 192.168.0.6 从 DC 降级 → 成为域成员服务器（还在域内）。
- 如果你希望它 **完全退出域**，可以再执行：
    
    ```powershell
    Remove-Computer -UnjoinDomainCredential (Get-Credential) -Verbose -Restart
    
    ```
    
    这样它就退出域，成为独立的工作组服务器。

---

## 三、把192.168.0.4 win2025辅助域控提升为主域控

好的 👍，我给你整理一个 **FSMO 角色迁移完整操作手册**，分 **GUI** 和 **PowerShell** 两种方式，适合 Windows Server 2022 域控环境。

---

# 🎯 FSMO 角色迁移完整步骤（Windows Server 2022）

## 3.1、准备工作

1. 确认源域控和目标域控 **均为可用状态**，并且已经同步 Active Directory。
    
    
    - 可以运行：
        
        ```powershell
        repadmin /replsummary
        
        ```
        
        确认没有严重的复制错误。
2. 确认你登录的账户有 **Enterprise Admins** 或 **Domain Admins** 权限。
3. 确认目标服务器（如 `s-dns1.shuncom.local`）是健康的域控，并且运行正常的 DNS。

---

## 3.2、GUI 方式迁移 FSMO 角色

FSMO 一共有 5 个角色，分两类工具来迁移：

### 1. Schema Master（架构主机）

- 默认不显示，需要先注册 **schmmgmt.dll**：
    
    ```powershell
    regsvr32 schmmgmt.dll
    
    ```
- 打开 **MMC（Microsoft 管理控制台）**：
    
    
    - Win+R → `mmc`
    - 文件 → 添加/删除管理单元 → 添加 **Active Directory Schema**
- 右键 **Active Directory Schema** → **更改 Active Directory 域控制器** → 选择目标 DC（`s-dns1.shuncom.local`）。
- 再右键 **Active Directory Schema** → **操作主机** → 点击 **更改**。

---

### 2. Domain Naming Master（域命名主机）

- 打开 **Active Directory Domains and Trusts（域和信任）**
- 右键顶层节点 → **更改 Active Directory 域控制器** → 选择目标 DC。
- 再右键顶层节点 → **操作主机** → 点击 **更改**。

---

### 3. RID Master / PDC Emulator / Infrastructure Master

- 打开 **Active Directory Users and Computers（用户和计算机）**
- 右键顶层节点 → **更改 Active Directory 域控制器** → 选择目标 DC。
- 再右键顶层节点 → **操作主机** → 在弹出窗口中可切换 3 个角色（RID、PDC、Infrastructure）。

---

## 3.3、PowerShell 方式迁移 FSMO 角色

1. 在目标域控（或能远程管理的管理机上）打开 **Windows PowerShell（管理员权限）**。
2. 查看当前 FSMO 角色分布：
    
    ```powershell
    netdom query fsmo
    
    ```
3. 执行迁移命令（示例迁移到 `s-dns1.shuncom.local`）：
    
    ```powershell
    Move-ADDirectoryServerOperationMasterRole -Identity "s-dns1.shuncom.local" -OperationMasterRole 0,1,2,3,4 -Confirm:$false
    
    ```
    
    
    - 其中参数说明：
        
        
        - `0` = PDC Emulator
        - `1` = RID Master
        - `2` = Infrastructure Master
        - `3` = Schema Master
        - `4` = Domain Naming Master
    
    也可以写成：
    
    ```powershell
    Move-ADDirectoryServerOperationMasterRole -Identity "s-dns1.shuncom.local" -OperationMasterRole SchemaMaster, DomainNamingMaster, PDCEmulator, RIDMaster, InfrastructureMaster -Confirm:$false
    
    ```
4. 验证迁移是否成功：
    
    ```powershell
    netdom query fsmo
    
    ```
    
    确认 5 个角色都在 `s-dns1.shuncom.local` 上。

---

## 3.4、注意事项

- **迁移 (Move)** 和 **强制夺取 (Seize)** 区别：
    
    
    - 如果原 FSMO 角色持有者 **在线**，建议用 **Move**（正常迁移）。
    - 如果原 FSMO 服务器永久损坏，必须用 **Seize**（强制夺取，命令不同）。
- FSMO 角色不能同时存在于两个 DC 上，迁移完成后会唯一存在于目标 DC。
- 建议迁移后，重启目标域控一次，确保 FSMO 服务稳定。

---

要不要我再帮你写一个 **Seize FSMO（强制夺取角色）** 的完整步骤？这样万一旧域控挂掉了，你也能处理。

## **四、互换两台域控的 IP 地址**：

1. 成功将 **FSMO（五大主域角色）** 全部迁移到了 `S-DNS1.shuncom.local`；
2. 然后准备 **互换两台域控的 IP 地址**（即把 `192.168.0.4` ↔ `192.168.0.5` 互换）。

这是可行的操作，但 **AD 与 DNS 对 IP 强依赖**，直接改 IP 后若不做同步修复，可能会导致：

- 域控之间复制中断；
- DNS 记录失效；
- Kerberos 验证失败；
- 客户端无法登录域。

---

## ✅ 一、你当前状态

从输出可见：

```
FSMO 全部在 S-DNS1.shuncom.local（192.168.0.5）
nslookup 显示：
shuncom.local -> 192.168.0.4 和 192.168.0.5

```

这说明目前两个域控（S-DNS1 与 S-DNS6）均在 DNS 中，解析没问题。  
接下来你要**交换两台服务器的 IP 地址**。

---

## ✅ 二、换 IP 前必须确认的事项

在更改 IP 之前，请务必：

1. **记下两台 DC 的名称与对应 IP：**
    
    ```
    S-DNS1 → 192.168.0.5（FSMO持有者）
    S-DNS6 → 192.168.0.4（辅助DC）
    
    ```
2. **确保两台域控都能访问彼此的主机名：**
    
    ```powershell
    ping S-DNS1.shuncom.local
    ping S-DNS6.shuncom.local
    
    ```
3. **确保 DNS 使用静态地址**，且每台 DC 都指向：
    
    
    - 首选 DNS：对方 DC
    - 备用 DNS：自身
    
    举例：
    
    ```
    S-DNS1:
      首选DNS：192.168.0.4
      备用DNS：192.168.0.5
    
    S-DNS6:
      首选DNS：192.168.0.5
      备用DNS：192.168.0.4
    
    ```

---

## ✅ 三、交换 IP 的正确步骤

### 步骤 1：暂停复制

在任一 DC 上执行：

```powershell
repadmin /options S-DNS1 +DISABLE_OUTBOUND_REPL
repadmin /options S-DNS6 +DISABLE_OUTBOUND_REPL

```

防止在切换过程中产生复制错误。

---

### 步骤 2：修改两台服务器的 IP 地址

在系统层面分别修改：

#### S-DNS1：

- 改为 **192.168.0.4**
- 同时更新 DNS 地址配置

#### S-DNS6：

- 改为 **192.168.0.5**
- 同步更新 DNS 地址配置

---

### 步骤 3：更新 DNS 记录

1. 打开 DNS 管理控制台；
2. 删除旧 IP 对应的 A 记录；
3. 确认新 IP 已自动注册；
    
    
    - 若未自动更新，可运行：
        
        ```powershell
        ipconfig /registerdns
        
        ```
    - 或手动添加：
        
        
        - `S-DNS1` → 192.168.0.4
        - `S-DNS6` → 192.168.0.5
4. 检查 `_msdcs.shuncom.local` 中的所有 SRV 记录是否都指向正确 IP：
    
    
    - `_ldap._tcp.dc._msdcs.shuncom.local`
    - `_kerberos._tcp.dc._msdcs.shuncom.local`

---

### 步骤 4：验证 AD 复制功能

执行：

```powershell
repadmin /syncall /AdeP
repadmin /replsummary

```

若显示 “0 fails” 即为正常。

---

### 步骤 5：解除复制限制

```powershell
repadmin /options S-DNS1 -DISABLE_OUTBOUND_REPL
repadmin /options S-DNS6 -DISABLE_OUTBOUND_REPL

```

---

### 步骤 6：验证 FSMO 与名称解析

执行以下命令验证迁移后状态：

```powershell
netdom query fsmo
nslookup shuncom.local
nltest /dclist:shuncom.local

```

应显示：

- FSMO 全部仍在 `S-DNS1.shuncom.local`
- DNS 解析正确对应新 IP
- `nltest` 输出两个 DC 都正常

---

## ✅ 四、可选操作（推荐执行）

1. **清理旧的 DNS 缓存**
    
    ```powershell
    ipconfig /flushdns
    
    ```
2. **在两台 DC 上分别执行**
    
    ```powershell
    dcdiag /test:dns /v
    repadmin /showrepl
    
    ```
3. **更新反向查找区域**（如果配置了）：
    
    
    - 确认 192.168.0.4 与 192.168.0.5 的 PTR 记录对应正确主机名。

---

## ✅ 五、总结操作顺序（简版）

<table id="bkmrk-%E9%A1%BA%E5%BA%8F-%E6%93%8D%E4%BD%9C-1-%E6%9A%82%E5%81%9C-ad-%E5%A4%8D%E5%88%B6-2-%E4%BA%A4"><thead><tr><th>顺序</th><th>操作</th></tr></thead><tbody><tr><td>1</td><td>暂停 AD 复制</td></tr><tr><td>2</td><td>交换 IP 地址</td></tr><tr><td>3</td><td>更新 DNS 记录（A / SRV / PTR）</td></tr><tr><td>4</td><td>`ipconfig /registerdns`</td></tr><tr><td>5</td><td>启用 AD 复制并验证 (`repadmin /syncall /AdeP`)</td></tr><tr><td>6</td><td>检查 `netdom query fsmo`、`nslookup`、`dcdiag` 均正常</td></tr></tbody></table>

---

如果你愿意，我可以帮你生成一份完整的\*\*“域控 IP 互换迁移操作文档（含命令）”\*\*（Word 或 PDF 版本）用于留存或内部操作。  
是否希望我帮你整理这份文件？