|
Друзі сайту
|
sc та Restart-Service: керування службами Windows з консолі — без services.mscЦикл: IT-Wiki / Атлас команд Windows Переглядів: 2
Перед стартом
Яку команду вибрати: sc vs PowerShellЦе одне з типових «чому у Windows 10 способів робити одне й те саме».
Типовий вибір: для інтерактивної разової дії — Довідкова таблиця — sc.exe
Синтаксис sc — пастка на рівному місці
Після Сценарій 1. Дізнатися стан служби й перезапустити їїsc: sc query spooler У виводі: sc stop spooler sc start spooler Між ними може знадобитися пауза, якщо служба довго зупиняється. sc не має рестарту в одну команду. PowerShell: Get-Service spooler Restart-Service spooler -Force
Сценарій 2. Змінити тип запуску (startup type)Задача: вимкнути Print Spooler на серверах без принтерів (регулярна security-вимога після PrintNightmare). sc: sc stop spooler sc config spooler start= disabled PowerShell: Stop-Service spooler Set-Service spooler -StartupType Disabled Значення Delayed-auto — для важкого старту
Тип Сценарій 3. Перезапуск з залежностямиЗадача: треба перезапустити Перевірити залежності перед запуском: Get-Service W32Time | Select-Object -ExpandProperty ServicesDependedOn І зворотно — хто залежить від W32Time: Get-Service W32Time | Select-Object -ExpandProperty DependentServices Правильний рестарт з усіма залежними (Force зупиняє залежні, потім стартує їх разом): Restart-Service W32Time -Force sc еквівалент — нема прямого, треба стартувати стек вручну. Сценарій 4. Налаштування recovery actions — «рестартуй мене, якщо я впаду»Задача: ваш власний application-сервіс іноді крашиться раз-два на місяць. Треба, щоб Windows автоматично стартував його після падіння. sc failure MyAppService reset= 86400 actions= restart/60000/restart/60000/run/0 Розбір:
Переглянути поточні налаштування: sc qfailure MyAppService Це те саме, що вкладка Recovery у Сценарій 5. PID процесу служби — щоб kill-нути, якщо застряглаЗадача: sc queryex spooler Вивід містить taskkill /F /PID 4532 Або в PowerShell одним рядком: Get-Process -Id (Get-WmiObject Win32_Service -Filter "Name='spooler'").ProcessId | Stop-Process -Force Після примусового вбивства — треба перевірити, що state не застряг у sc query spooler Сценарій 6. Масова перевірка — «які служби впали на 50 серверах»$hosts = Get-Content C:\Temp\servers.txt
foreach ($h in $hosts) {
$s = Get-Service -ComputerName $h -Name 'BITS','wuauserv','W32Time' -ErrorAction SilentlyContinue
foreach ($svc in $s) {
if ($svc.Status -ne 'Running') {
[PSCustomObject]@{
Server = $h
Service = $svc.Name
Status = $svc.Status
}
}
}
} | Export-Csv C:\Temp\stopped-services.csv -NoTypeInformation
Типові пасткиПастка 1: STOP_PENDING назавжди
Якщо служба зависла у стані Пастка 2:
sc config binPath= з лапкамиЯкщо шлях до exe містить пробіл, потрібні внутрішні лапки з escape: sc config MyService binPath= "\"C:\Program Files\MyApp\svc.exe\" -arg" Типова помилка — забути escape внутрішніх лапок, тоді служба створюється з некоректним шляхом і не стартує. Пастка 3:
Set-Service -StartupType не зупиняєЗміна startup type через Небезпека:
sc delete
Чеклист типових операційПам'ятка
Пов'язане
Інші статті цього циклуТеги: sc services PowerShell Restart-Service Get-Service залежності служб Windows Services sc config
|
Опитування
Якою програмою обліку ви користуєтесь?
Архів
Хмаринка тегів
1С Active Directory Applied cheatsheet Dahua diskpart DISM Event Log Get-Service gpresult gpupdate Hikvision ipconfig MBR netsh ping PowerShell Restart-Service RSoP services TCP Test-NetConnection UEFI Vstarcam WEB Windows Windows Services winsock WMI filter Конфігурація Ніжин Ніжин відеоспостереження виробництво впровадження відеонагляд відеоспостереження дизайн монтаж розділи інтеграція
|
![[IT-FORMAT]](/uploads/logo22.png)
