2012-09-13 119 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 
相關問題