Показать полную графическую версию : [решено] Получение максимальной информации о службах в винде
Когда-то,очень давно,мне скидывали файлик GetAllServices.exe,который,без "излишнего пафоса" просто выводил список служб винды в текстовый файлик...я теперь,конечно понимаю,насколько это была примитивная прога,но...тем не менее,она у меня куда-то потерялась (видать анти-вирус счёт её дико опасной...) и хотелось-бы найти какой-нибудь её аналог,в принципе не важно в каком это будет формате - в бате или ехе...
В общем,надо получить список всех служб на компе...а лучше даже получить их в виде имени службы,а не её названия (в данном случае это совсем разные вещи) и в идеале было-бы ещё и получить тип запуска онной...
В итоге хочу этот список переделать во что-то,типо этого:
net start AeLookupSvc
sc config AeLookupSvc start= auto
и в идеале хотелось-бы получить что-то максимально приближенное к этому...
короче,я просто хочу реарганизовать весь запуск служб у себя на компе и соответственно - какие-то службы остановить,какие-то запустить и учитывая,что такой батник приходится писать,как минимум под новую винду,а как максимум переписывать,когда,вдруг понадобится какая-то из служб...хотелось-бы делать это максимально быстро,плюс на разных компах какие-то службы удаляются,какие-то добавляются,сами понимаете...в общем,поднадоело уже целый день писать один батник вручную,хочется хотя-бы за пару часов его оформлять)
Kanec, ну что тут сказать: изучайте PowerShell
Managing services (https://docs.microsoft.com/en-us/powershell/scripting/samples/managing-services?view=powershell-7)
ну...единственная команда,которая хоть как-то помогла-бы в моей ситуации - get-service -name * правда вот загвоздка - её даже не пытались там указать,да и это...не совсем то,хотя нет - совсем не то,что мне нужно...
Мне нужно выводить,как минимум список всех служб на экран или в текстовом виде без лишней мешуры,чтоб это можно было перенести в текстовый файл и потом сделать батник...цель именно ускорить получение этого списка и приведения его в необходимый вид,а не просто,хоть как-то его получить в любом виде...
А на счёт изучения повершела...да надо-бы,ни раз он меня выручал,когда были проблемы в винде или с обновлениями,но как-то всё руки не доходят...да и хз,с чего начать...я батники-то на примитивном уровне знаю,хотя...мне этого вполне хватает,а тут всё намного замудрённее(
правда вот загвоздка - её даже не пытались там указать,да и это...не совсем то,хотя нет - совсем не то,что мне нужно... »
Kanec, можно лишь повторить вослед коллеге:
Kanec, ну что тут сказать: изучайте PowerShell »
— и сделаете в том виде, в каком Вам будет нужно.
get-service -name * правда вот загвоздка - её даже не пытались там указать,да и это...не совсем то,хотя нет - совсем не то,что мне нужно.. »
Мне нужно выводить,как минимум список всех служб на экран или в текстовом виде без лишней мешуры, »
Get-Service | Format-Table name #gsv | ft name
Переношу в ХВЗ короче.
Get-Service | Format-Table name #gsv | ft name »
совсем другое дело,благодарю,правда жалко,что нету вывода в файл(
а можно как-то ещё и статусы и типы этих служб получить ? ну как я спрашивал выше.
Ах да,в виде батника мне уже тоже вариант подкинули,он,конечно лучше тем,что выводит службы в файл,но всё равно не удобен тем,что выводит все службы подряд,а для того,чтоб вставить нужные мне строки простого реплейса будет мало,ибо нужен,как минимум пробел в конце и начале строки...это,конечно пол беды,но если есть возможно получить статус и тип запуска - было-бы вообще шикарно)
Вот,собственно сам батник:
@echo off
setlocal enabledelayedexpansion
set "target=Services.txt"
if exist "%target%" del /q "%target%"
set count=-1
for /f %%S in ('wmic service get name ^| findstr /ivr "^$"') do (
set /a count+=1
if !count! NEQ 0 (
echo %%S
echo %%S>> "%target%"
)
)
echo ----------------------------
echo %count%
echo.
pause
exit
правда жалко,что нету вывода в файл »
Если вы начнете изучать пош, а не жаловаться, сразу узнаете про вывод в файл.
Get-Service | Format-Table name | Out-File C:\temp\s.txt
а можно как-то ещё и статусы и типы этих служб получить »
Я показал, как вывести имена. Статусы выводятся точно так же, свойства можно перечислять через запятую.
Get-Service | Format-Table name | Out-File services.txt
так лучше эта команда выглядит
и для чего такие загадки ? я уже вообще сомневаюсь,что можно вывести это в том виде,в котором мне надо...а в другом меня и не особо интересует,я могу в тех-же службах посмотреть и сам,ну или введя команду: Get-Service | select servicename сюда можно дописать,конечно starttype,но это ровным счётом ничего не даст мне,а если дописать ещё и вывод в файл...там всё ещё хуже получается,там куча ненужных точек добавляется:
Get-Service | select servicename,starttype | out-file service.txt
и это максимум,что удалось найти на эту тему(
Kanec, есть ровно два варианта:
Вы изучаете PowerShell и самостоятельно делаете, что Вам нужно, поскольку как именно нужно — Вы не пишете;
Вы самостоятельно описываете, что именно Вам нужно, причём подробно, целиком и в деталях, вплоть до буквы, и Вам делают сие.
Ладно,повторю,раз уж просите...мне надо получить вид,максимально приближенный к этому,а лучше даже именно так,чтоб выглядело:
net start AeLookupSvc
sc config AeLookupSvc start= auto
я не уверен,что такое можно получить через батник или через пс,по-этому и спросил - возможно-ли...
т.е.,что мы видим в этих строках - запуск службы (хотя подошёл-бы и текущий статус в таком формате),а во-второй строке мы видим тип запуска этой службы...и тут тоже хотелось-бы хотя-бы текущий статус...возможно-ли эту информацию получить в таком-же или приближенном формате ? причём не важно - в пс это будет или в батнике
Get-Service | select servicename,starttype | out-file service.txt »
так а что вам не нравится в этом варианте? - не хотите программировать, в текстовом редакторе поиск и замена позволят вам дополнить вывод до необходимого вида
Собственно на соседнем форуме меня правильно поняли и подкинули,прямо идеальный вариант: https://yadi.sk/
Собственно,я совсем забыл сказать - для чего всё это было - при каждой переустановке винды все службы обнуляются + при каждой перезагрузке,минимум пару служб отпадывает,причём рандомно,ну и плюс на чужой винде их надо приводить в порядок,ибо и лишних много запущено...ну и просто получилось так,что,например принтером никогда в жизни не пользовался (ну если не учитывать первый принтер,который у меня был,когда ещё в школе учился и компов лучше первого пня не существовало,а винда была 3.11 у всех,хотя и существовала 95ая...но это уже совсем другая история...) и я все службы связанные с ним отключил...на что взбунтовались почти все друзья,ну,по-крайней мере те,у которых были принтеры,пришлось костыль писать по-бырому) ну или сейчас,думал посмотреть,в каком формате в Hyper-V живут жестаки,ибо свой на VirtualBox`е думаю изменить...точнее его размер,а без пересоздание это не получится сделать( пытался запустить этот гипер-в,собственно,а он говорит,что нужно запустить службы связанные с ним (странно,что она не сделала это сама...),ну я и тут костыль написал за пару минут,запускаю,а комп в синьку уходит,ребутнулся,снова запускаю,а он снова в синьку,в итоге понял,что затуп сразу-же на первой-же службе - gcs,соответственно пришлось её не запускать,пока,как минимум не узнаю,в чём косяк...т.е. суть в вариативности,я и поднимаю помершие службы и,допсутим запускаю нужные мне в данный момент службы,переписав,буквально пару строк...
Такие дела...именно по-этому мне нужно было,чтоб на выходе уже был готовый вариант,доступный для модификации
А вот сборник всех моих батников,которые я постоянно пополняю: https://yadi.sk/ мало-ли кому будет интересно)
их надо приводить в порядок,ибо и лишних много запущено... »
А… Ну, с этого надо было и начинать, никто бы и не дёргался. Флаг в руки, коллега, флаг в руки.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.