![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| nhc |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 10.5.2007 Где: Славный ГРАДЪ НИЖ НИЙ Репутация: нет Всего: 1 |
Есть исходный код на VBS :
'******************************************************************************* ' Скрипт, последовательно просматривает список компьютеров в AD ' и вырубает заданный процесс. '******************************************************************************* ' Инициализируем данные strProcName = "" strComputerName = "" intWasKilled = 0 Const ADS_SCOPE_SUBTREE = 2 ' Пользователь задает имя процесса WScript.Echo("Введите имя процесса:") //strProcName = WScript.StdIn.ReadLine ' Инициализируем и получаем доступ к AD, формируем список компьютеров для просмотра Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCommand.ActiveConnection = objConnection objCommand.CommandText = "Select Name, Location from 'LDAP://DC=skfnn, DC=local' " _ & "Where objectClass ='computer'" objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst ' В цикле последовательно к каждому компьютеру применяем функцию KillProc Do Until objRecordSet.EOF strComputerName = objRecordSet.Fields("Name").Value WScript.Echo (strComputerName & " Поиск ...") intWasKilled = KillProc (strComputerName, strProcName) WScript.Echo(" Passed (" & bWasKilled & ")") objRecordSet.MoveNext Loop '******************************************************************************* ' Функция уничтожения заданного процесса на заданном компьютере ' Вход: имя компьютера, имя процесса ' Выход: количество убитых процессов '******************************************************************************* Function KillProc (strComputerName, strProcName) On Error Resume Next strComputer = strComputerName ' С помощью моникера winmgmts получаем доступ к WMI целевого компьютера Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") ' Просматриваем список процессов, находим требуемый Set colProcessList = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = '" & strProcName & "'") ' Kill It For Each objProcess in colProcessList objProcess.Terminate() Next ' Возвращаем результат (кол-во найденных и завершенных процессов) KillProc = colProcessList.Count End Function Надо создать форму в Delphi в которой в Edit будет вводиться имя процесса, а на форму выводиться протокол выполнения скрипта. |
|||
|
||||
| localhost |
|
|||
![]() Хирург-длятехкт ![]() ![]() Профиль Группа: Участник Сообщений: 712 Регистрация: 8.11.2005 Где: Н.Новгород Репутация: нет Всего: 43 |
Оффтоп: А копирайты где?
|
|||
|
||||
| nhc |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 10.5.2007 Где: Славный ГРАДЪ НИЖ НИЙ Репутация: нет Всего: 1 |
Извиняюсь НАЧАЛЬНИК
' © P@rfen aka inspire aka localhost ' ниибаца крутой начинающий программер |
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |