关于ServiceNow工单状态从“Closed Incomplete”修改为“Closed Complete”的咨询
关于ServiceNow工单状态从“Closed Incomplete”修改为“Closed Complete”的咨询
别担心,这种误操作在ServiceNow里真的挺常见的,我给你几个实用的解决办法,你可以根据自己的权限和公司流程来选:
找系统管理员协助修改
ServiceNow默认对已关闭工单的状态字段做了编辑限制,但管理员有更高权限来突破这个限制,通常有两种方式:- 直接编辑工单字段:管理员可以进入工单的后台编辑界面(比如通过列表视图的编辑选项,或者直接在后台查看工单记录),把
state字段的值从Closed Incomplete(一般对应数值7,不同实例可能有细微差异)改成Closed Complete(通常是6)。 - 临时调整ACL规则:如果管理员不想直接改字段,也可以临时修改针对工单状态字段的ACL(访问控制列表),给你的角色开放编辑已关闭工单状态的权限,等你修改完成后再把规则恢复回去。
- 直接编辑工单字段:管理员可以进入工单的后台编辑界面(比如通过列表视图的编辑选项,或者直接在后台查看工单记录),把
尝试重开工单后重新关闭
有些ServiceNow实例支持将已关闭的工单重新打开,你可以先在工单页面找「Reopen」(重开)按钮,或者按照公司流程提交重开请求。等工单回到Open或In Progress状态后,完成必要的收尾操作,再将状态设置为Closed Complete。不过这个方法需要确认你的实例是否开启了重开功能,以及是否符合公司的流程规范。管理员用后台脚本快速修改
如果你的管理员熟悉ServiceNow脚本,可以用一段简单的后台脚本直接修改工单状态:var gr = new GlideRecord('incident'); // 如果是变更请求等其他类型工单,替换成对应表名,比如change_request gr.get('sys_id', '目标工单的sys_id'); // 把这里替换成你要修改的工单的sys_id if (gr.isValid()) { gr.state = 6; // 6对应Closed Complete,可根据你的实例确认具体数值 gr.update(); gs.print('工单状态已成功修改'); }提醒管理员执行脚本前最好先在测试环境验证,避免影响其他数据。
另外要注意,不管用哪种方法,最好记录下这次误操作的原因和修改过程,符合公司的IT流程规范,避免后续审计出现问题。如果公司有严格的变更管理流程,可能需要先提交变更请求再进行修改,记得遵守内部规定哦。
备注:内容来源于stack exchange,提问作者zus




