Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / список процессов пользователя терминальной сессии / 7 сообщений из 7, страница 1 из 1
12.01.2009, 10:33
    #35751917
Kasher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список процессов пользователя терминальной сессии
Подскажите пожалуйста как можно вывести список процессов пользователя терминальной сессии. Программа пишется на VB
Просто у меня выводится полный список всех процессов запущенных на сервере.
...
Рейтинг: 0 / 0
12.01.2009, 14:23
    #35752616
Kasher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список процессов пользователя терминальной сессии
вот в диспетчере задач Windows есть вкладка процессы. Подскажите пожалуйста реально вытащить имя пользователя?
а именно нужно например создаем два listbox в одном отображается наименование процесса, а в другом имя пользователя запустившего процесс. Вот как вывести процесс понятно, но не получается вывести имя пользователя. Что за это отвечает?

Спасибо!
...
Рейтинг: 0 / 0
12.01.2009, 15:03
    #35752756
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список процессов пользователя терминальной сессии
...
Рейтинг: 0 / 0
12.01.2009, 15:21
    #35752823
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список процессов пользователя терминальной сессии
Через WMI.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
On Error Resume Next
Dim strComputer
Dim objWMIService
Dim propValue
Dim objItem
Dim SWBemlocator
Dim UserName
Dim Password
Dim colItems
Dim strUserName
Dim strUserDomain

strComputer = "."
UserName = ""
Password = ""

Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = SWBemlocator.ConnectServer(strComputer,"root\CIMV2",UserName,Password)
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process",, 48 )

For Each objItem In colItems
    objItem.GetOwner strUserName, strUserDomain
    Wscript.Echo "Process " & objItem.Name & " is owned by " _ 
      & strUserDomain & "\" & strUserName & "."
Next

Вот еще статья на эту тему - How Can I Determine the Account a Process is Running Under?
...
Рейтинг: 0 / 0
12.01.2009, 21:16
    #35753549
Kasher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список процессов пользователя терминальной сессии
о спасибо большое))
завтра попробую
...
Рейтинг: 0 / 0
14.01.2009, 11:00
    #35756648
Kasher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список процессов пользователя терминальной сессии
все заработала программа! Спасибо всем за помощь))) код очень помог
...
Рейтинг: 0 / 0
17.01.2009, 22:21
    #35763109
Kasher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список процессов пользователя терминальной сессии
вопрос немного не по теме, но просто раз ее начала, то не стала создавать отдельный топик
суть в том, что данная программа некорректно срабатывает. А именно, как то через раз.
При запуске программы иногда пишет что калькулятор или блокнот уже запущен, хотя в процессах ничего не висит. То есть просто не дает запустить данные программы. Все это происходит на сервере. Ошибку мне сложно найти :( Посмотрите пожалуйста, может кто быстро найдет. Вдруг обнуление, где не правильно поставила.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
Public q As Integer, w As Integer, strUserName As String, strUserDomain As String
Public xID As Integer ' ID процесса блокнота
Public rID As Integer ' ID процесса калькулятора
Public strComputer
Public objWMIService
Public propValue
Public objItem
Public SWBemlocator
Public UserName
Public Password
Public colItems

Private Sub Command1_Click()
Screen.MousePointer = vbHourglass
List1.Clear
List2.Clear
List3.Clear
On Error Resume Next
strComputer = "."
UserName = ""
Password = ""
objItem.Name = ""
strUserName = ""
strUserDomain = ""

Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = SWBemlocator.ConnectServer(strComputer, "root\CIMV2", UserName, Password)
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process", ,  48 )
q =  0 
For Each objItem In colItems
    objItem.GetOwner strUserName, strUserDomain
    List1.AddItem objItem.Name
    List2.AddItem strUserDomain & "\" & strUserName
    List3.AddItem objItem.Name & "  " & strUserDomain & "\" & strUserName
q = q +  1 
Next
Screen.MousePointer = vbDefault
For i =  1  To q
If List1.List(i) = "notepad.exe" And List2.List(i) = strUserDomain & "\" & strUserName Then
MsgBox "Блокнот уже запущен",  48 , "Сообщение"
Exit Sub
End If
Next i
xID = Shell("C:\Windows\notepad.exe",  1 )
strComputer = "."
UserName = ""
Password = ""
objItem.Name = ""
strUserName = ""
strUserDomain = ""
End Sub

Private Sub Command2_Click()
Screen.MousePointer = vbHourglass
List1.Clear
List2.Clear
List3.Clear
On Error Resume Next
strComputer = "."
UserName = ""
Password = ""
objItem.Name = ""
strUserName = ""
strUserDomain = ""

Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = SWBemlocator.ConnectServer(strComputer, "root\CIMV2", UserName, Password)
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process", ,  48 )
w =  0 
For Each objItem In colItems
    objItem.GetOwner strUserName, strUserDomain
    List1.AddItem objItem.Name
    List2.AddItem strUserDomain & "\" & strUserName
    List3.AddItem objItem.Name & "  " & strUserDomain & "\" & strUserName
'List2.AddItem "Process " & objItem.Name & " is owned by " & strUserDomain & "\" & strUserName & "."
w = w +  1 
Next
Screen.MousePointer = vbDefault
For i =  1  To w
If List1.List(i) = "calc.exe" And List2.List(i) = strUserDomain & "\" & strUserName Then
MsgBox "Калькулятор уже запущен",  48 , "Сообщение"
Exit Sub
End If
Next i
rID = Shell("C:\WINDOWS\System32\calc.exe",  1 )
strComputer = "."
UserName = ""
Password = ""
objItem.Name = ""
strUserName = ""
strUserDomain = ""
End Sub

Private Sub Command3_Click()
Dim strKillNotepad As String
Dim strKillCalc As String
Dim strKillCalc2 As String

If xID =  0  And rID =  0  Then
End
Exit Sub
End If
strKillNotepad = "cmd /x/c taskkill /f /pid " & CStr(xID)
'MsgBox strKillNotepad
Shell (strKillNotepad)
strKillCalc = "cmd /x/c taskkill /f /pid " & CStr(rID)
'MsgBox strKillCalc
Shell (strKillCalc)
End
End Sub

Private Sub Form_Load()
    If App.PrevInstance = True Then
    MsgBox "Программа уже запущена!"
    End
    End If
Screen.MousePointer = vbHourglass
List1.Clear
List2.Clear
List3.Clear
On Error Resume Next
strComputer = "."
UserName = ""
Password = ""
objItem.Name = ""
strUserName = ""
strUserDomain = ""

Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = SWBemlocator.ConnectServer(strComputer, "root\CIMV2", UserName, Password)
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process", ,  48 )
z =  0 
For Each objItem In colItems
    objItem.GetOwner strUserName, strUserDomain
    List1.AddItem objItem.Name
    List2.AddItem strUserDomain & "\" & strUserName
    List3.AddItem objItem.Name & "  " & strUserDomain & "\" & strUserName
z = z +  1 
Next
Screen.MousePointer = vbDefault
strComputer = "."
UserName = ""
Password = ""
objItem.Name = ""
strUserName = ""
strUserDomain = ""
End Sub
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / список процессов пользователя терминальной сессии / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]