Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Узнать имя пользователя, от которого запущен процесс (http://forum.oszone.net/showthread.php?t=144403)

vitalisvv 07-07-2009 04:24 1160719

Узнать имя пользователя, от которого запущен процесс
 
Помогите, плиз, узнать имя пользователя, от которого запущен процесс. Просто необходимо закрыть именно у определенного пользователя на серваке определенный процесс. Дело в том, что одноименных процессов (запущенных программ) на серваке много. Вот и задача - отловить PID процесса определенного пользователя.

proxy 07-07-2009 09:16 1160815

vitalisvv, Макросы рулят :

Код:

MsgBox(64, 'Идентификатор (ID) текущего пользователя', @UserName)
:victory:

amel27 07-07-2009 15:01 1161076

vitalisvv, вариант через WMI:
Код:

$aList = ProcessList ("SciTE.exe")
For $i=1 To $aList[0][0]
    ConsoleWrite($aList[$i][1] &": "& _ProcessGetOwner($aList[$i][1]) &@CRLF)
Next

Func
_ProcessGetOwner($PID, $sComputer = ".")
    Local $objWMI, $colProcs, $sUserName, $sUserDomain
    $objWMI
= ObjGet("winmgmts:\\" & $sComputer & "\root\cimv2")
    If IsObj($objWMI) Then
        $colProcs = $objWMI.ExecQuery("Select ProcessId From Win32_Process Where ProcessId="& $PID)
        If IsObj($colProcs) Then
            For
$Proc In $colProcs
                If $Proc.GetOwner($sUserName, $sUserDomain)=0 Then Return $sUserDomain & "\" & $sUserName
            Next
        EndIf
    EndIf
EndFunc

FYI: _ProcessListProperties(), List many properties of a process

vitalisvv 07-07-2009 18:13 1161264

Cпасибо!!! Помогло!

kaster 16-09-2009 01:16 1219911

Код:

If StringInStr("0409 0809 0c09 1009 1409 1809 1c09 2009 2409 2809 2c09 3009 3409", @OSLang) Then
  $sUser = 'USERNAME'
ElseIf StringInStr('0419', @OSLang) Then
  $sUser = 'Пользователь'
EndIf
$sCommand = 'taskkill /F /FI "' & $sUser & ' eq ИМЯ_ЮЗЕРА_в_Формате_Domen\username"'
_RunDOS($sCommand)

Func _RunDOS($sCommand)
    Local $nResult = RunWait(@ComSpec & " /C " & $sCommand, "", @SW_HIDE)
    Return SetError(@error, @extended, $nResult)
EndFunc  ;==>_RunDOS



Время: 10:43.

Время: 10:43.
© OSzone.net 2001-