Windows 企业母盘 Ghost 方案(镜像制作)指引
关闭自保护
1. 登录 iOA 零信任管理平台控制台,在左侧导航栏,选择策略中心 > 终端管控策略 > 客户端管理。
2. 在客户端管理页面,选择客户端自保护,在编辑策略模块中,选择客户端自保护开关设置。
3. 确保后台允许客户端修改设置、关闭客户端自保护。

4. 在 iOA 客户端上,单击 
> 设置。


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

清理 MID
1. 以管理员身份运行
ZtsmDeleteMidGhost 工具。说明:
请您 联系我们 或联系您所在公司的 iOA 交付人员,获取
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查看即可)。
Linux iOA 制作系统镜像指引
1. 环境准备。
PC 机断网。
正常安装 iOA 软件。
2. 删除文件:
sudo rm -f /var/lib/com.tencent.ioa/hostcoreinfo.cfg。各端避免镜像安装后 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 -eecho "开始"rm -rf /tmp/sys_imagerm -rf /tmp/sys_image_installer.logecho "sys_image" >> /tmp/sys_imagelogPath=/tmp/sys_image_installer.logecho "开启重启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 ztsmdlpecho "进程结束" >> $logPathecho "清理数据库开始" >> $logPathecho "清理前DB CurrentMid:" >> $logPathmidQueryRet=$(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" >> $logPathecho "开始清理db" >> $logPathsqlite3 /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 "清理结束" >> $logPathecho "清理后DB CurrentMid:" >> $logPathmidRet=$(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" >> $logPathecho "制作结束" >> $logPathecho "结束"
Linux
1. 安装系统。
2. 安装 iOA。
3. 断开网络。
4. 在 Linux 命令行中,执行以下命令以删除 mid 文件。
rm -f /var/lib/com.tencent.ioa/hostcoreinfo.cfg
5. 制作镜像。
已有问题的 mid 处理
1. 在
/data/services/pcmgr_enterprise/public/service/device-mgr/devices/conf/devices.conf 文件中,将 EnableLastMid = 1修改为 EnableLastMid = 0。此更改需要应用于所有总控机器。2.
delete from devices where mid = '有问题的 mid',删除异常的 mid。3.
supervisorctl restart devices conn-sc conn-lc 所有总控机器都需要执行。4. 终端保持网络在线大约1个多小时之后(或重启机器后),客户端会重新请求6002并重新注册 mid。