Что нового

Как получить список активных служб?

Ganibal95

GreenBytes
Сообщения
876
Репутация
239
Здраствуйте, как получить список активных служб? :smile:
Заранние спс :IL_AutoIt_1:

[box title=TitleBox]Эх я наверное надоел своими тупыми вопросами...[/box]
 

VladUs

Скриптер
Сообщения
621
Репутация
181
Код:
$strComputer = "." 
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") 
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Service WHERE Started = 'True' ") 
ConsoleWrite ("-------- Запущенные службы: --------" & @CRLF)
For $objItem in $colItems 
    ConsoleWrite($objItem.DisplayName & @CRLF)
Next
 
Автор
Ganibal95

Ganibal95

GreenBytes
Сообщения
876
Репутация
239
Мне бы узнать точное название файла! :smile:
 

axlwor

Скриптер
Сообщения
657
Репутация
147
автор. у тебя два пути. Или учить wmi (от этого хуже не будет), или учить библиотеку
 
Автор
Ganibal95

Ganibal95

GreenBytes
Сообщения
876
Репутация
239
VladUs
Ваш способ грузит процесс: services.exe на 8%
 

axlwor

Скриптер
Сообщения
657
Репутация
147
wmi и должен это делать при работе :whistle:
 

Arei

Скриптер
Сообщения
938
Репутация
115
а бех грузки процессора.
 
Автор
Ganibal95

Ganibal95

GreenBytes
Сообщения
876
Репутация
239
После данного скрипта от VladUs
Когда запускаеш скрипт, пускай даже он 1 раз вернет все службы... А все равно процесс грузит! Видемо после использования это надо как то закрыть!!!
 
Автор
Ganibal95

Ganibal95

GreenBytes
Сообщения
876
Репутация
239
у ковонибудь есть соображения?
 
Автор
Ganibal95

Ganibal95

GreenBytes
Сообщения
876
Репутация
239
VladUs
Стационарный не грузит, но нетбук...
А я пытаюсь сделать чтоб минимум ресурсов и цп было использованно!
 
Автор
Ganibal95

Ganibal95

GreenBytes
Сообщения
876
Репутация
239
VladUs
Кокразтаки в скрипте, так-как он загружает процесс на 8%
Нужен более оптимальный вариант!
 
Автор
Ganibal95

Ganibal95

GreenBytes
Сообщения
876
Репутация
239
У меня их 2... но сижу я на ХРюше =)
 

VladUs

Скриптер
Сообщения
621
Репутация
181
Для работы со службами можно использовать утилиту командной строки sc
Команда:
Код:
sc query
вернет все запущенные на данный момент службы
Если у Вас установлен PowerShell, то у него есть командлет get-service.
Достаточно ввести строчку в этой оболочке:
Код:
get-service | where-object {$_.Status -eq "Running"}
чтобы получить список активных служб.
Эти два варианта можно прикрутить к Autoit



Добавлено:
Сообщение автоматически объединено:


А так через UDF Services.au3

Код:
#Include <Services.au3> 
 
   $arr = _Service_Enum($SERVICE_WIN32,$SERVICE_ACTIVE)
   For $i = 0 To UBound($arr)-1
   ConsoleWrite("DisplayName: " & $arr[$i][1] & @CRLF)
   Next


Services.au3
 
Верх