Как да изброите всички услуги на Windows с помощта на PowerShell или командния ред

Работещите приложения, които виждате на екрана си, са част от това, което се случва в Windows . От управление на драйвери на устройства до гарантиране на сигурността, куп фонови процеси поддържат работещ компютър с Windows .

За всеки системен администратор, който наблюдава множество компютри, е важно да може да преглежда състоянието на тези критични услуги. Подходът на диспечера на задачите(Task Manager) е твърде бавен за това и не можете да го автоматизирате със скрипт.

Решението? Инструменти за команден ред. С помощта на командния ред или PowerShell(Command Prompt or PowerShell) можете бързо да получите информация за оперативните услуги на Microsoft , работещи на дадена система, което ви помага бързо да диагностицирате всички проблеми. 

Изброяване на услуги на (Services)Windows в командния ред(Command Prompt)

Въпреки че не е толкова гъвкав или мощен като Windows PowerShell , командният ред(the Command Prompt) все още е отличен инструмент за системни администратори. Можете да използвате командата queryex , за да получите състоянието както на активни, така и на деактивирани услуги и след това да използвате командата taskkill,(use the taskkill command) за да прекратите досадните процеси.

  1. За да използвате командата queryex, стартирайте командния ред(Command Prompt) като администратор(Administrator) . Можете да намерите приложението, като потърсите cmd в стартовото меню.

  1. Има много начини за използване на командата sc queryex. Типът и състоянието(State) са двата най-често използвани параметъра. Например, въведете следната команда, за да видите всички  процеси на Windows :

sc queryex type=service state=all

  1. Изгледът по подразбиране може да бъде малко поразителен. Можете да покажете само имената на процесите, за да направите списъка по-лесен за анализ:

sc queryex type=service state=all | find /i “SERVICE_NAME:”

  1. По подразбиране командата изброява всички активни процеси. За да търсите неактивни, променете параметъра състояние:

sc queryex type=service state=inactive

  1. Можете също така да направите заявка за състоянието на конкретен процес по неговото име. Това е невероятно полезно за системните администратори, тъй като те могат да настроят групови файлове, за да проверяват много процеси наведнъж. Ето един пример:

sc заявка DeviceInstall(sc query DeviceInstall)

Изброяване на Windows услуги(Services) в PowerShell

PowerShell е предназначен да бъде специална обвивка на командния ред за модерен Windows . Като такъв, той осигурява достъп до почти всеки компонент на операционната система чрез команди и услугите на Windows не са изключение.

Предимството на PowerShell(PowerShell) е, че можете лесно да го автоматизирате. Всички команди на PowerShell могат да бъдат компилирани в сложни скриптове, което ви позволява да настройвате задачи за системно администриране на множество компютри без проблеми.

  1. Започнете(Start) , като отворите PowerShell . Можете да го търсите в менюто " Старт"(Start Menu) ; просто се уверете, че стартирате екземпляр с повишени права (т.е. като администратор(Administrator) ).

  1. Най-простата команда за изброяване на услуги на Windows в (Windows)PowerShell е Get-Service . Той показва всички услуги на вашия компютър, заедно с техния статус и имена. Единственият проблем е, че списъкът с услуги може да бъде доста дълъг.

  1. Когато използвате Get-Service , по-добра идея е да експортирате списъка в текстов файл. Можете да направите това с помощта на тръби, като това:

Get-Service | Out-File “C:\logs\All_Services.txt”

  1. За да видите състоянието на конкретна услуга, следвайте командата Get-Service с името на услугата. Можете да поискате състоянието на множество процеси, като разделите имената им със запетаи.

Get-Service CryptSvc, COMSysApp

  1. Каналите могат също да се използват за комбиниране на cmdlet Get-Service с функцията (Get-Service)Where-Object и филтриране на резултатите по Status . Следната команда илюстрира това чрез получаване на всички работещи(Running) услуги:

Get-Service | Where-Object {$_.Status -EQ “Running”}

Проверка на зависимостите на услугата

Всеки сложен процес е разделен на множество взаимозависими услуги. Ето защо просто получаването на статус на определена услуга често не е достатъчно. Трябва също така да проверите състоянието на услугите, от които услугата зависи.

  1. За да видите услугите, изисквани от конкретна услуга, използвайте флага -RequiredServices с кратката команда (-RequiredServices)Get-Service . Ето един пример:

Get-Service -Name CryptSvc –RequiredServices

  1. По същия начин, за да получите списък с услуги, които зависят от конкретна услуга, се възползвайте от флага -DependentServices .

Get-Service -Name CryptSvc -DependentServices

Тези два флага са от решаващо значение при писането на скриптове за автоматично стартиране или спиране на услуги на Windows , тъй като те ви дават начин да следите всички услуги, свързани със засегнатата услуга.

Изброяване на услуги на (Services)Windows на отдалечени(Remote) компютри

Методът PowerShell не е ограничен до локални компютри. Можете да използвате кратката команда Get-Service със същия синтаксис, описан по-горе, за да направите заявка и за процесите на отдалечени компютри. Просто(Just) добавете флага -ComputerName в края, за да посочите от кой отдалечен компютър да се извлече информация. 

Ето един пример:

get-service CryptSvc -ComputerName Workstation7

Управление на Windows услуги(Services) в PowerShell

Получаването на състоянието на услугите не е единственото нещо, което можете да направите в Windows PowerShell . Като пълноценна среда за скриптове, тя предоставя алтернативи на скриптове за всички опции  на GUI .

Кратки команди на Powershell(Powershell) могат да спират, стартират, рестартират или дори да променят услуги. Сдвоени с автоматизирани команди Get-Service , скриптовете на (Get-Service)PowerShell могат да бъдат написани за пълно автоматизиране на ежедневните задачи за управление на системата.

  1. В допълнение към запитването за състоянието на услугите, можете също да използвате PowerShell , за да ги управлявате. Стартирането или спирането на услуги може да се извърши с една команда, като се изисква само името на услугата. Ето как например можете да спрете услуга:

Stop-Service -Name Spooler

  1. Стартирането на услуга става по подобен начин:

Start-Service -Name Spooler

  1. Ако дадена услуга не работи правилно, можете също да изберете да я рестартирате:

Restart-Service -Name Spooler

  1. Съществува и cmdlet Set-Service , който може да се използва за промяна на свойствата на услуга. Тук деактивираме автоматичното стартиране на услугата Print Spooler :

Set-Service 'Spooler' -StartupType е деактивиран(Set-Service ‘Spooler’ -StartupType Disabled)

Кой е най-добрият начин за изброяване на услуги на (Services)Windows(List Windows) ?

Независимо дали използвате Windows 10 или Windows Server , възможността да видите списък с всички услуги на Windows може да бъде полезна. Можете да диагностицирате проблеми с критични системни функции или да спрете ненужните услуги на Microsoft, за да подобрите производителността.

За тази цел PowerShell е най-добрият вариант. Докато можете да получите списък с услуги в командния ред(Command Prompt) , допълнителната функционалност, предоставена от PowerShell , е по-полезна.

Можете да използвате кратки команди на PowerShell , за да получите състоянието на услугата на процесите на Windows , като ги филтрирате по техния статус или други параметри. Също така е лесно да се определят зависимите услуги и да се стартират или спират, ако е необходимо.



About the author

Аз съм рецензент на софтуер и експерт по продуктивността. Преглеждам и пиша софтуерни рецензии за различни софтуерни приложения, като Excel, Outlook и Photoshop. Отзивите ми са добре информирани и дават обективна представа за качеството на приложението. Пиша софтуерни ревюта от 2007 г.



Related posts