Solved

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

Posted on 2009-06-30
2
1,434 Views
Last Modified: 2013-11-29
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

0
Comment
Question by:Herrmannator
2 Comments
 
LVL 4

Accepted Solution

by:
asrdias earned 500 total points
ID: 24761533
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

Featured Post

Want to promote your upcoming event?

Attending an event? Speaking at a conference? Or exhibiting at a trade show? Easily inform your contacts by using a promotional banner in your email signature. This will ensure your organization’s most important contacts are in the know.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

The use of stolen credentials is a hot commodity this year allowing threat actors to move laterally within the network in order to avoid breach detection.
If you get continual lockouts after changing your Active Directory password, there are several possible reasons.  Two of the most common are using other devices to access your email and stored passwords in the credential manager of windows.
In this video, we discuss why the need for additional vertical screen space has become more important in recent years, namely, due to the transition in the marketplace of 4x3 computer screens to 16x9 and 16x10 screens (so-called widescreen format). …
This Micro Tutorial will give you a basic overview of Windows DVD Burner through its features and interface. This will be demonstrated using Windows 7 operating system.

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now