할 수 있는 방법을 죽이는 프로세스를 사용하여,VBScript,시작으로 특정 사용자

StackOverflow https://stackoverflow.com/questions/76275

문제

나는 여러 실행하는 사용자 attachemate 에 윈도우 2003 서버이다.내가 죽이고 싶 attachemate.exe 에 의해 시작 user_1 죽이지 않고 attachemate.exe 에 의해 시작 user_2.

을 사용하고 싶 VBScript.

도움이 되었습니까?

해결책

이것을 사용할 수 있는 사람을 찾아 프로세스 소유자가 다음 번에 사용할 수 있는 win32_process 의하여 이 프로세스를 통해 프로세스 ID.

MSDN win32_process 클래스 정보

MSDN 프로세스 종료와 함께 win32_process 의

거기에 반드시 청소하는 방법이지만,여기에서 내가 왔습니다.참고:이는 하지 않고 여러 프로세스의 이름이 같은 물론,하지만 난 당신이 작동할 수 있는 부분으로 배열을 보유하거나입니다.:)

strComputer = "."
strOwner = "A111111"
strProcess = "'notepad.exe'"

' Connect to WMI service and Win32_Process filtering by name'
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")
Set colProcessbyName = objWMIService.ExecQuery("Select * from Win32_Process Where Name = " _
    & strProcess)

' Get the process ID for the process started by the user in question'
For Each objProcess in colProcessbyName
    colProperties = objProcess.GetOwner(strUsername,strUserDomain)
    if strUsername = strOwner then
        strProcessID = objProcess.ProcessId
    end if
next

' We have the process ID for the app in question for the user, now we kill it'
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process where ProcessId =" & strProcessID)
For Each objProcess in colProcess
    objProcess.Terminate()
Next

다른 팁

쉘을 pskill 서 http://sysinternals.com/

Commandline:pskill-u user_1attachemate.exe

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top