PC sperren falls Maus & Tastatur angeschossen wird

Muss aus irgendeinem Grund an einer Arbeitsstation / Server der Benutzer angemeldet bleiben so besteht immer die Gefahr das eine unbefugte Person sich am PC zu schaffen macht.

Über dieses kleine Script können dei Eingabegeräte überwacht werden. sobald diese eingesteckt werden wird der User abgemeldet.

' **********************************************************************************
' Dieses Script setzt voraus das keine Maus & Tastatur angeschlossen ist.
' Sobald ein Eingabegerät angeschlossen wird soll die Arbeitsstation gesperrt werden
' **********************************************************************************

Option Explicit

Dim objShell
Dim sComputer
Dim objWMIService
Dim colItems, objItem
Const cWait = 10 'Sekuden-Schleife

Set objShell = WScript.CreateObject("WScript.Shell")
sComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
MsgBox "Mit OK haben Sie noch " & cWait & " Sekunden Zeit um Maus & Tastatur abzuziehen.", vbOKOnly + vbInformation, "Sperren d. Tastatur & Maus"
Do
  WScript.sleep (cWait * 1000)  
  Set colItems = objWMIService.ExecQuery("Select * from Win32_Keyboard",,48)  
  For Each objItem In colItems
    'Wscript.Echo "Keyboard: " & objItem.Description
    'Sobald eine (USB-)Tastatur eingesteckt wird Arbeitstation sperren  
    objShell.Run "RunDLL32.EXE user32.dll,LockWorkStation",,vbtrue
    'OK und jetzt noch das Script abbrechen  
    WScript.Quit  
  Next  
  Set colItems = objWMIService.ExecQuery("Select * from Win32_PointingDevice",,48)  
  For Each objItem In colItems
    'Wscript.Echo "Mouse: " & objItem.Description
    'Sobald eine (USB-)Maus eingesteckt wird Arbeitstation sperren    
    objShell.Run "RunDLL32.EXE user32.dll,LockWorkStation",,vbtrue
    'OK und jetzt noch das Script abbrechen    
    WScript.Quit    
  Next
Loop