У меня есть наушники Bluetooth, иногда Windows 10 не может подключиться к устройству Bluetooth, поэтому мне нужно перейти в диспетчер задач -> Службы - Открыть службы -> Найти службу поддержки Bluetooth и перезапустить ее.
Мне было любопытно, могу ли я сделать какую-либо операцию с ярлыком или пакетным файлом или сценарий, и я могу просто щелкнуть по нему, и он перезапустит службу поддержки Bluetooth.
Сначала найдите имя службы, введя следующую команду:
powershell -Command "sc.exe query | Select-String -Pattern Bluetooth -Context 1,0"
Вы найдете название своего сервиса со строкой SERVICE_NAME
чуть выше DISPLAY_NAME
, которую вы искали. Это может быть что-то вроде UmRdpService
или RasMan
, что угодно.
Затем в командной строке ПОВЫШЕННЫЙ введите следующие две команды:
sc stop YourServiceNameFoundAbove
sc start YourServiceNameFoundAbove
Теперь ваша служба перезапущена.
Вы можете использовать следующий пакет, он автоматически запросит повышение, если это необходимо.
Просто измените строку set SRV=...
и сохраните ее там, где вам удобно, тогда вам просто нужно создать ярлык вручную (сделано только один раз) на рабочем столе.
@echo off
setlocal EnableExtensions EnableDelayedExpansion
set SRV=YourServiceNameFoundPreviously
REM Check admin mode, auto-elevate if required.
openfiles > NUL 2>&1 || (
REM Not elevated. Do it.
echo createObject^("Shell.Application"^).shellExecute "%~dpnx0", "%*", "", "runas">"%TEMP%\%~n0.vbs"
cscript /nologo "%TEMP%\%~n0.vbs"
goto :eof
)
del /s /q "%TEMP%\%~n0.vbs" > NUL 2>&1
sc stop !SRV! || (
echo ERROR: Couldn't stop service !SRV!.
pause
goto :eof
)
sc start !SRV! || (
echo ERROR: Couldn't start service !SRV!.
pause
goto :eof
)
goto :eof
Это означает, что некоторые другие службы требуют этого, поэтому вы не можете остановить его «как есть». Введите net stop bthserv
, это даст вам отображаемые имена зависимых служб. Сначала остановите их, затем остановите bthserv
, затем перезапустите bthserv
, затем эти сервисы.
Я создал пакетный файл, как вы сказали, немного изменил «echo y | net stop !SRV! || ...", и это решило проблему зависимости с auto Y. Спасибо и ура!
Пожалуйста. Да, для остановки службы, но это не будет работать со всеми языками (для французской Windows, как у меня, вам нужно будет ввести O
для «Oui»). Кроме того, вероятно, НЕТ перезапустит зависимые службы: это основная проблема, и поэтому я дал вам совет сделать это вручную с помощью sc
. Действительно, лучше и безопаснее один раз сделать маленькую работу, а потом молчать вечно.
Это дает ошибку «[SC] ControlService FAILED 1051: элемент управления остановкой был отправлен службе, от которой зависят другие запущенные службы». имя службы для службы поддержки Bluetooth — bthserv. Я обнаружил, что «Служба громкой связи Bluetooth» (название службы: BthHFSrv) зависит от этой службы.