Завершение зависшей службы в PowerShell — различия между версиями

Материал из Wikipedia PC-SUPP
Перейти к: навигация, поиск
(Новая страница: «= Принудительное завершение зависшей службы в PowerShell = Это еще один Завершение зависшей…»)
 
Строка 40: Строка 40:
 
  }  
 
  }  
  
 +
=См. также=
 +
[[Завершение зависшей службы|Принудительное завершение зависшей службы через cmd]]
  
 +
== Примечания ==
  
 
+
[[Категория:PowerShell]][[Категория:Инструкции]]
 
 
 
 
 
 
 
 
== Примечания ==
 

Версия 16:41, 11 июля 2018

Принудительное завершение зависшей службы в PowerShell

Это еще один из методов принудительного завершения процесса, при этом, не нужно узнавать PID.

Запускаем PowerShell от имени администратор.

Для начала, чтобы понять как всё работает, получим список всех служб. Это делается следующей командой:

Get-WmiObject -Class win32_service

У нас "поползёт" список из всех имеющихся служб, их статусом и режимом запуска.


PoSH1.png


Теперь нам необходимо выполнить отбор, чтобы найти нашу зависшую службу (а может быть и их несколько).

Следующая команда поможет нам выявить службы, которые находятся в состоянии stopping (останавливается)[1]:

Get-WmiObject -Class win32_service | Where-Object {$_.state -eq 'stop pending'}

Теперь нам нужно завершить процесс для найденных нами служб, в этом нам поможет Stop-Process. Чтобы каждый раз не выискивать каждую зависшую службу (ведь зависшая служба говорит о том, что тот или иной процесс не выполняется) выполним скрипт, который завершит все повисшие в системе службы:

$Services = Get-WmiObject -Class win32_service -Filter "state = 'stop pending'"
if ($Services) {
foreach ($service in $Services) {
try {
Stop-Process -Id $service.processid -Force -PassThru -ErrorAction Stop
}
catch {
Write-Warning -Message "Error. Error details: $_.Exception.Message"
}}}
else {
Write-Host "No services with 'Stopping' status" -ForegroundColor green
} 

См. также

Принудительное завершение зависшей службы через cmd

Примечания

  1. Службы могут принимать следующие состояния:
    Running - Запущена
    Stopped - Остановлена
    Stopping - Останавливается