views:

29

answers:

3

I'm using a VBScript to run an application on my Win Server 2003, and I want it to log the user off after a set amount of time. Something along the lines of:

Set WshShell = WScript.CreateObject("WScript.Shell")
Set OExe = WshShell.exec("somecommand.exe")
WScript.Sleep 1000000
OExe.Terminate
<Insert LogOff code>
+1  A: 

Something like

WshShell.Run "C:\windows\system32\shutdown.exe /l", 0, false

should do the trick

Andrew Cooper
+1  A: 
Wscript.Sleep(100000)  
SET wshell = Wscript.CreateObject("Wscript.Shell")  
wshell.exec("shutdown.exe -L -F")  

Just tested this on a w7 box, seems to work alright.

Pete
A: 

Example using WMI:

Set oSystems = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")
For Each oSystem in oSystems
   'LOGOFF   = 0
   'SHUTDOWN = 1
   'REBOOT   = 2
   'FORCE    = 4
   'POWEROFF = 8
   oSystem.Win32Shutdown 0
Next
wsware