|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Узнать имя пользователя, от которого запущен процесс |
|
|
[решено] Узнать имя пользователя, от которого запущен процесс
|
|
Новый участник Сообщения: 4 |
Помогите, плиз, узнать имя пользователя, от которого запущен процесс. Просто необходимо закрыть именно у определенного пользователя на серваке определенный процесс. Дело в том, что одноименных процессов (запущенных программ) на серваке много. Вот и задача - отловить PID процесса определенного пользователя.
|
|
|
Отправлено: 04:24, 07-07-2009 |
|
Старожил Сообщения: 460
|
Профиль | Отправить PM | Цитировать |
|
------- Отправлено: 09:16, 07-07-2009 | #2 |
|
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать 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
|
|
Отправлено: 15:01, 07-07-2009 | #3 |
|
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Cпасибо!!! Помогло!
|
|
Отправлено: 18:13, 07-07-2009 | #4 |
|
Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать 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
|
|
|
------- Последний раз редактировалось kaster, 17-09-2009 в 00:43. Отправлено: 01:16, 16-09-2009 | #5 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Прочие БД - Как узнать имя пользователя в MS Access? | st031 | Программирование и базы данных | 0 | 30-08-2009 18:24 | |
| [решено] Получить имя диска, с которого запущен скрипт | frostyland | AutoIt | 2 | 18-08-2009 10:11 | |
| Процесс svchost.exe запущен от имени пользователя | tarakan1983 | Лечение систем от вредоносных программ | 7 | 13-10-2008 07:57 | |
| Как узнать _полное_ имя пользователя? | fantik | Microsoft Windows NT/2000/2003 | 2 | 21-11-2006 18:13 | |
| Процесс запущен от имени *** | antOOn | Microsoft Windows 2000/XP | 6 | 01-08-2005 15:21 | |
|