Включить / отключить драйвер устройства через командную строку

7

Я выполнил поиск в Google и нашел такие инструменты, как devcon и devmanview, но они полезны только для отключения / включения устройства, а не драйвера устройства. Что я хочу сделать, это иметь возможность отключить / включить определенный драйвер устройства через командную строку. Кто-нибудь знает какой-нибудь инструмент, который может помочь мне сделать это?

В моем случае я действительно хочу отключить / включить драйвер запоминающего устройства Nvme Mass.

Обновление - я попытался использовать предложенный sc.exe, но мне не удалось остановить драйвер. Любая помощь?

    C:\Users\Administrator>sc query nvme
    SERVICE_NAME: nvme
    TYPE               : 1  KERNEL_DRIVER
    STATE              : 4  RUNNING
                            (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
    WIN32_EXIT_CODE    : 0  (0x0)
    SERVICE_EXIT_CODE  : 0  (0x0)
    CHECKPOINT         : 0x0
    WAIT_HINT          : 0x0

    C:\Users\Administrator>sc stop nvme [SC] ControlService FAILED 1052:
    The requested control is not valid for this service.
Кейт
источник
Что такое Windows 2012?
DavidPostill
Я имел в виду Windows Server 2012 microsoft.com/en-us/server-cloud/products/…
Кейт
Исправил это для вас. Нам не нужна версия в заголовке, я исправил теги;)
DavidPostill
Я не думаю, что вы можете включить / отключить драйверы только устройства. Чего вы на самом деле пытаетесь достичь?
ДэвидПостилл
1
@DavidPostill На самом деле, некоторые драйверы могут быть остановлены (даже драйверы файловой системы!) - Кейт, что выводится sc queryex type= driver | findstr /i service_name(все буквально); там нужный драйвер?
Бен N

Ответы:

3

Вы можете использовать sc.exeутилиту для этого.

sc query type= driver | findstr WHAT_IM_LOOKING_FOR

Если вы найдете то, что ищете, вы можете остановить водителя с помощью:

sc stop EXACT_DRIVER_NAME_AS_LISTED_BY_QUERY

Очевидно, что для этого вам понадобится оболочка с правами администратора. Если вы хотите автоматизировать это при входе в систему, вы можете создать пакетный файл и установить его в качестве администратора с помощью планировщика задач. Установленные задачи, которые требуют прав администратора, но были установлены администратором, не будут запрашивать привилегии при запуске, но будут предоставлены им автоматически.


источник
2
У меня проблемы с этим - \ n C: \ Users \ Администратор> sc.exe тип запроса = драйвер | findstr nvme SERVICE_NAME: nvme DISPLAY_NAME: nvme C: \ Users \ Администратор> sc stop nvme [SC] ControlService FAILED 1052: Запрошенный элемент управления недействителен для этой службы.
Кейт
1
@ Кейт Я думаю, что драйвер не остановить.
@kate на самом деле из вашего обновления, сервис указан как STOPPABLE, так что я подозреваю, что проблема в другом. Я бы порекомендовал новый вопрос, поскольку технически это сейчас отдельная проблема.
1

Мне удалось установить бесплатную утилиту devcon.exe из комплекта драйверов Windows 10 от Microsoft.

Эта утилита позволит вам включить / отключить все, что вы видите в диспетчере драйверов. В моем случае я обнаружил, что звуковая шина высокого разрешения от Microsoft в Windows 10 была написана плохо и всегда занимала 10% процессорного времени. Я отключил это с:

devcon.exe отключить PCI \ VEN_8086 "&" DEV_9D71 *

Вы должны запустить его как администратор, поэтому я поместил его в файл .bat и сделал для него ярлык «Запуск от имени администратора».

Джефф Винклер
источник
0

я могу остановить водителя

C:\Windows\system32>sc stop kmd
SERVICE_NAME: kmd
        TYPE               : 1  KERNEL_DRIVER
        STATE              : 3  STOP_PENDING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

Но соответствующий графический интерфейс не обновляется в devmgmt.msc. Обычно, когда я отключаю драйвер в диспетчере устройств, появляется стрелка вниз на значке драйвера, чтобы подтвердить, что драйвер отключен.

с командной строкой sc стрелка вниз не появляется

гранулирование
источник
0

Попробуй C:\> NET STOP drivername.

Джейми Ханрахан
источник