帮你快速理解、总结文档立即下载
文档中心>iOA 零信任安全管理系统>实践教程>企业母盘 Ghost 方案(镜像制作)指引 SaaS 版

企业母盘 Ghost 方案(镜像制作)指引 SaaS 版

最近更新时间:2026-08-06 17:16:30
我的收藏

Windows 企业母盘 Ghost 方案(镜像制作)指引

关闭自保护

1. 登录 iOA 零信任管理平台控制台,在左侧导航栏,选择 iOA 客户端运维 > 客户端策略 > 客户端自保护
2. 在客户端自保护页面,单击新建策略,选择客户端自保护开关设置。
3. 确保后台允许客户端修改设置、关闭客户端自保护,配置完成单击保存

4. 在 iOA 客户端上,单击

> 设置。

5. 选择常规设置 > 自保护-临时关闭自保护应用后单击确定


清理 MID

1. 以管理员身份运行 ZtsmDeleteMidGhost 工具。
说明:
请您 联系我们 获取 ZtsmDeleteMidGhost 工具。
清理 MID 必须在终端断网状态下进行。若终端处于联网状态,清理后系统会自动重新获取 MID,进而影响母盘制作。因此,母盘制作需全程保持断网。
2. 在电脑中,找到保存的 ZtsmDeleteMidGhost.exe,右键单击 ZtsmDeleteMidGhost.exe,在弹出菜单中选择以管理员身份运行

3. 工具启动后会自动弹出操作指引,请按提示完成指引,阅读完成后,单击弹窗中的我已阅读并确认,工具将自动开始清理。

4. 等待工具执行完成,工具执行完成后 MID 清理成功,弹窗如下图所示。单击确定。至此,MID 清理工作完成。


制作母盘

1. 请用户开始制作母盘。
注意:
制作过程中设备网络断开状态(不能联网),防止设备标识生成重复。
2. 验证效果:母盘制作完成后,找两台或多台设备安装母盘,完成启动 iOA,设备联网,查看 iOA 工作状态,同步策略。查看两台设备的 iOA 唯一标识符不同,即母盘制作成功。

恢复 MID(仅母机需要)

1. 如果母盘所在机器后续还要继续用于日常办公、再次制作镜像或交付给其他人使用,需要恢复 MID 让客户端重新注册到 iOA 管理平台。
注意:
本章操作仅针对母机本身;通过母盘镜像部署的下游客户端不需要执行本章操作,它们首次联网时会自动注册生成新的 MID。
2. 保持母机连接网络(插上网线或连接 Wi-Fi)。
3. 重启电脑操作系统,重启后 iOA 客户端会自动重新注册到 iOA 管理平台,生成新的 MID 并在控制台可见。
4. 在母机登录 iOA 客户端,确认主界面显示正常,无离线状态。
5. 登录 iOA 零信任管理平台控制台,进入终端信息页面,确认该母机的 MID 已重新生成,且设备状态显示为在线。

说明:
因在关闭自保护选择的是临时关闭自保护(仅本次开机有效),重启后 iOA 客户端自保护会自动恢复为开启状,无需手动再次开启。
如果母机仍需继续制作下一批镜像,建议每次制作前重新按照 Windows 企业母盘 Ghost 方案(镜像制作)指引制作镜像,避免残留 MID 导致下游设备 MID 冲突。

macOS 企业母盘 Ghost 方案(镜像制作)指引

客户端提供清除唯一标识及相关字段的方案及步骤:
1. 正常安装 iOA,启动后确认 iOA 工作正常。
2. 关键步骤:制作母盘时,确保设备是断网状态,设备断开网络。
3. 运行母盘制作脚本。在 Mac 终端中运行脚本:sudo /Users/aaaa/Downloads/cleaniOA

4. 关键步骤:确认清除唯一标识符相关字段 currentMid 、lastGuid、lastMacAddress 的值,查看方式如下:
方式1:使用命令查看
4.1 在终端中用命令查看对应 key 的值,如:查看 currentMid,查看 lastGuid 替换对应 key 值即可。
sqlite3 /Library/Application\\ Support/QQPCiOA/QQPCMgrConfig.db "select value from config where key='currentMid'"
4.2 如下则清除成功。

方式2:使用 DB 工具查看
4.1 查看清除内容,数据库位置如下,可使用 DB Browser 浏览数据。

4.2 关键步骤:currentMid 字段,选择浏览数据,在 key 中过滤 currentMid/lastGuid/lastMacAddress,如下即是存在,若没有显示则清除成功,其他字段按照相同方式查看即可。

5. 开始制作母盘。
注意:
制作过程中设备网络断开状态(不能联网),防止设备标识生成重复。
6. 验证效果:母盘制作完成后,找两台或多台设备安装母盘,完成启动 iOA,设备联网,查看 iOA 工作状态,同步策略。查看两台设备的 iOA 唯一标识符不同,即母盘制作成功(使用上述方式1或方式2查看即可)。

各端避免镜像安装后 mid 一致解决方案

Windows

1. 安装 iOA。
2. 断开网络。
3. 删除文件:C:\\ProgramData\\Tencent\\DeskUpdate\\Enterprise_GlobalMgr.db

4. 制作镜像。

macOS

1. 正常安装 iOA 后,同步策略成功。
2. 断开当前的网络。
3. 结束 iOA 所有主要进程,提供脚本。运行脚本方式:sudo sh /Users/harveyxu/Downloads/restartiOA
4. 清除 iOA 数据库中 mid 内容,数据库位置如下,可使用 DB Browser 浏览数据:

5. mid 字段,选择浏览数据,在 key中过滤 mid ,然后进行删除。

6. 保存修改值。
7. 重启 iOA,记录时间,观察网络服务中的网络请求没有包含 mid 值,6001 请求中的 lastmid 字段值为空,即删除 mid 成功。

8. 制作 macOS 镜像,详情请参见 macOS 企业母盘 Ghost 方案(镜像制作)指引
9. 重启 iOA 脚本,脚本内容如下:
#! /bin/bash
#set -o kill set -e
echo "开始"
rm -rf /tmp/sys_image
rm -rf /tmp/sys_image_installer.log

echo "sys_image" >> /tmp/sys_image
logPath=/tmp/sys_image_installer.log

echo "开启重启iOA相关进程" >> $logPath
# /usr/bin/killall -9 ztsmwechat
# /usr/bin/killall -9 QQPCMgr
# /usr/bin/killall -9 QQPCMgrDaemon
# /usr/bin/killall -9 QQPCPolicyMgr
# /usr/bin/killall -9 NetworkServiceMgr
# /usr/bin/killall -9 runmgr
# /usr/bin/killall -9 ztsmwechat
# /usr/bin/killall -9 runmgr
# /usr/bin/killall -9 QQPCUpdate
# /usr/bin/killall -9 NetworkServiceMgr
# /usr/bin/killall -9 tav
# /usr/bin/killall -9 NGNMgr
# /usr/bin/killall -9 QQPCUpdate
# /usr/bin/killall -9 tav
# /usr/bin/killall -9 iOADiagnosis
# /usr/bin/killall -9 QQPCWatermark
# /usr/bin/killall -9 PreLoginQQPCMgr
# /usr/bin/killall -9 dns_guard
# /usr/bin/killall -9 QQPCEdr
# /usr/bin/killall -9 QQPCDlp
# /usr/bin/killall -9 ztsmedr
# /usr/bin/killall -9 ztsmdlp
echo "进程k结束" >> $logPath

echo "清理数据库开始" >> $logPath
echo "清理前DB CurrentMid:" >> $logPath

midQueryRet=$(sqlite3 /Library/Application\\ Support/QQPCiOA/QQPCMgrConfig.db "select value from config where key='currentMid'" 2>>$logPath) || {
echo "Error: Failed to query 'currentMid' from db" >> $logPath
}
echo "query 'currentMid' from db, got val = $midQueryRet" >> $logPath


echo "开始清理db" >> $logPath
sqlite3 /Library/Application\\ Support/QQPCiOA/QQPCMgrConfig.db "delete from config where key='currentMid'"

sqlite3 /Library/Application\\ Support/QQPCiOA/QQPCMgrConfig.db "delete from config where key='lastGuid'"

sqlite3 /Library/Application\\ Support/QQPCiOA/QQPCMgrConfig.db "delete from config where key='lastMacAddress'"

echo "清理结束" >> $logPath
echo "清理后DB CurrentMid:" >> $logPath
midRet=$(sqlite3 /Library/Application\\ Support/QQPCiOA/QQPCMgrConfig.db "select value from config where key='currentMid'" 2>>$logPath) || {
echo "Error: Failed to query 'currentMid' from db" >> $logPath
}
echo "query 'currentMid' from db, got val = $midRet" >> $logPath

echo "制作结束" >> $logPath

echo "结束"