Need VBScript to monitor a 64 bit process and take action when the process closes

I have been using a VBScript to launch a special 32 bit application, then monitor it's process to see when it closes, then log the user off automatically.  But now I need to modify this to run on W2K3 x64 (and the process is also 64 bit now).  Can someone help me modify the below portion of a script so that it would work on W2K3 x64, and when MyProgram.EXE is also 64 bit?

(This was the VBScript for 32 bit version of the program)
'Connect to wmi
'set objWMIService = GetObject("winmgmts:root\cimv2")
Do
 found = false
'List the processes
strQuery = "Select * from win32_process where name='MyProgram.EXE'"
set colProcesses = objWMIService.ExecQuery(strQuery)
 
for each proc in colProcesses
 
   ' Get the reference class linking processes to sessions to get the session object path
   strQuery = "References of {win32_process.handle='" & proc.handle & "'} where ResultClass=Win32_SessionProcess"
   set colSessionReferences = objWMIService.ExecQuery(strQuery)
 
   for each oSessionReference in colSessionReferences
      'Get associators of the session object that are user accounts (linked by win32_loggedonuser)
      strQuery = "Associators of {" & oSessionReference.antecedent & "} where AssocClass=win32_LoggedOnUser"
      set colUsers = objWMIService.ExecQuery(strQuery,,48)
         for each user in colUsers
         if user.name = MUser then found = true
      next
   next
next
Loop While found = true
 
'Run the Windows 2003 logoff utility
wshShell.Run "c:\windows\system32\shutdown.exe -l -f"

Open in new window

LVL 8
HerrmannatorAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

asrdiasCommented:
The script should be fine... it works in my x64 Win7...

You must check if your wscript or cscript are running in 32bit or 64bit. Use task manager to check those processes. If there is a *32 in front of them then you're on 32 bit.
The 32 bit versions are stored in C:\Windows\SysWOW64 and the 64 bit ones should be on System32

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows OS

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.