我想在成功退出特定应用程序时从其Windows会话中注销用户
我们来看以下用例:
1. John Doe登录其Windows会话
2.他打开Windows WordPad文本编辑器("特定应用程序的示例")并添加一些文本
3.他成功保存并退出申请
4. John Doe将自动从其Windows会话中注销
我想找到一个使用Windows标准机制的解决方案 我已经尝试使用本地组策略,事件查看器和任务计划程序的组合来查找解决方案。但是,我无法触发特定应用程序的事件。
这是我的(不成功)尝试:
本地组策略
1.打开本地计算机政策> Windows设置>安全设置>地方政策>审核政策节点
2.打开审核流程跟踪属性策略
3.选中成功复选框,然后点击确定以验证
4.执行 GPUpdate / Force 以应用新策略
事件查看器
1.启动写字板并成功退出(正如John Doe所做的那样)
2.查看事件查看器> Windows日志> Windows事件查看器中事件的安全性日志
3.找到事件后,右键单击它并选择将任务附加到此事件...
4.到达操作向导页面,选择启动程序选项,然后单击下一步
5.使用以下选项填写该字段程序/脚本:关闭和添加参数(可选):/ l / f / t 10
主要问题是成功流程终止的事件ID:4689 适用于所有不仅成功退出写字板流程的应用程序!
是否可以仅在写字板终止进程上触发?
答案 0 :(得分:1)
通过'将任务附加到此事件',答案是否定的。但是,您可以通过logonscript或注册表在登录时运行以下脚本。
strComputer = "."
Set objWMIService = GetObject("winmgmts:{(Security)}\\" & _
strComputer & "\root\cimv2")
Set colEvents = objWMIService.ExecNotificationQuery _
("Select * From __InstanceDeletionEvent WITHIN 1 Where " _
& "TargetInstance isa 'Win32_Process'")
Do
Set objEvent = colEvents.NextEvent.TargetInstance
cmdLine = objEvent.CommandLine
if InStr(LCase(cmdLine), "wordpad.exe") then
wscript.Echo("Wordpad exited. Logging off...")
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "logoff"
end if
Loop