|
Kullanıcıyı screensaver devreye girdiğinde sistemden atma scripti.
Gönderen : admin Kategori : Scripting Saat : 09:58:27
Skor : 0 |
Azalt (0) | Yükselt (0) | Focused: 1225 | Permalink | Digg It
Temel problemlerden bir tanesi kullanıcının ne kadar süre idle dediğimiz hareketsiz durumda kaldığını tespit edebilmenin güçlüğü. Bu yüzden belli bir süre sonra screen saver devreye girdiğini varsayarak kullanıcıyı (logout) sistemden dışarı atıyoruz. Burada akla screen saver devreye girme süresi ile ilgili script soru işareti olabilir. hemen alttaki script bu işi yapıyor. Strvalue değerine tanımlanan 600 saniye cinsindendir. Bunu istediğiniz kadar uzatıp kısaltmak elinizde
HKEY_CURRENT_USER = &H80000001 strComputer = "." Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv") strKeyPath = "Control Panel\Desktop" objReg.CreateKey HKEY_CURRENT_USER, strKeyPath ValueName = "ScreenSaveTimeout" strValue = "600" objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
Aşağıdaki script sisteminizde ekran koruyucunun devreye girip girmediğini kontrol ediyor. Eğer ekran koruyucunuz devreye girdiyse kullanıcıyı sistemden dışarı atıyor.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objEventSource = objWMIService.ExecNotificationQuery _ ("SELECT * FROM __InstanceOperationEvent WITHIN 10 WHERE TargetInstance ISA 'Win32_Process'")
Do While True Set objEventObject = objEventSource.NextEvent() If Right(objEventObject.TargetInstance.Name, 4) = ".scr" Then Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each objItem in colItems objItem.Win32Shutdown(4) Next End If Loop
|