2012-09-13 74 views
1

我想在成功退出特定应用程序时从Windows会话中注销用户。
让我们采取以下用例:
1.李四登录到其Windows会话
他打开的Windows写字板的文本编辑器(“特定的应用”的例子),并添加一些文字
他保存并退出应用程序
4. John Doe自动从其Windows会话中注销当用户成功退出特定应用程序时注销

我想找到一个使用Windows标准机制的解决方案。
我已经尝试使用本地组策略,事件查看器和任务计划程序的组合来查找解决方案。但是,我无法针对特定应用触发事件

这里是我的(失败)尝试:

本地组策略
1.打开本地计算机策略> Windows设置>安全设置>本地策略>审核策略节点
2.打开审计过程跟踪属性策略
3.检查成功复选框并单击确定验证
4.执行运行gpupdate/force应用新政策

事件查看器
1.启动写字板,并顺利退出它(如李四会做)
2.看事件查看器> Windows日志>安全杂志在Windows事件查看器事件
3.一旦该事件被发现,右键单击并选择附加任务此事件...
4.关爱行动向导页中,选择启动程序选项,然后单击下一步
5.填写相应字段下列选项程序/脚本:关机添加参数(可选):/ L/F /吨,10

的主要问题是,事件ID:4689一个成功的进程终止适用于成功不仅退出我的写字板程序所有的应用程序!

只能在写字板终止过程上触发吗?

+0

此问题将在http://superuser.com/得到更好的答案。 – 2012-10-06 17:39:50

回答

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 
相关问题