You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何识别Moodle 4.0课程中手动添加用户的操作者?

Moodle 4.0 追踪手动添加课程用户的操作者方案

一、SQL查询(直接高效)

作为站点管理员,可直接查询数据库获取精准记录:

1. 核心角色分配查询

替换{courseid}为目标课程ID,执行以下SQL:

SELECT u.username, u.firstname, u.lastname, ra.timemodified, ra.action
FROM mdl_role_assignments ra
JOIN mdl_user u ON ra.userid = u.id
JOIN mdl_context c ON ra.contextid = c.id
WHERE c.contextlevel = 50 AND c.instanceid = {courseid}
ORDER BY ra.timemodified DESC;
  • 说明:contextlevel=50对应课程上下文,timemodified为操作时间,action字段标记操作类型,关联用户表可直接得到操作者信息。

2. 补充日志表查询

若常规日志无记录,查询标准日志存储表:

SELECT u.username, l.timecreated, l.action, l.target
FROM mdl_logstore_standard_log l
JOIN mdl_user u ON l.userid = u.id
WHERE l.contextlevel = 50 AND l.contextinstanceid = {courseid}
AND l.action IN ('enrol_manual_add', 'assign_role')
ORDER BY l.timecreated DESC;

二、插件辅助

  • Audit Trail插件:安装后会记录所有系统操作细节,包括用户选课/角色分配的操作者信息,可在后台直接查看完整审计轨迹。
  • 高级日志功能:进入「站点管理」→「报告」→「日志」→「日志设置」,开启高级日志,勾选「用户enrolment」相关日志项,后续操作会被完整留存。

三、后台配置检查

  • 确认日志存储:进入「站点管理」→「插件」→「日志存储」,确保「标准日志存储」已启用,且日志保留周期覆盖目标操作时间段。
  • 权限验证:通过「站点管理」→「用户」→「权限检查」,排查是否有其他拥有enrol/manual:enrol权限的用户执行了操作。

内容的提问来源于stack exchange,提问作者Menna Ayman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:52:09