Как создать сервис с WMIC?

498
Mohammadreza Panahi

Я написал сервисную программу с WinAPIфункциями с c++И я хочу создать это wmic.exeв диспетчере сервисов с ниже command:

service create name="test" where path = "C:\Users\msi\Desktop\SampleService.exe" 

Но это дает мне error:

Invalid format. Hint: <assignlist> = <propertyname>=<propertyvalue> [, <assignlist>]. 

Как я могу создать сервис с помощью wmic.exeинструмента?

1
почему бы не использовать sc.exe из обычной командной строки? такое wmic требование? Drako 5 лет назад 0
@Drako Я знаю `sc.exe`, но мне нужно использовать` wmic`. Mohammadreza Panahi 5 лет назад 0
Сообщение об ошибке означает, что вы не должны использовать `where` и должны писать его как` service create name = "test", path = "xxx" `, но это тоже не работает. Насколько я вижу, `wmic` не может создать системный сервис. harrymc 5 лет назад 0
@harrymc ок .... спасибо Mohammadreza Panahi 5 лет назад 0

1 ответ на вопрос

1
harrymc

Я считаю, что ответ заключается в том, что wmicне может создать новый системный сервис.

Я запустил командную строку с повышенными правами и выполнил команду wmic service create /?:Full, чтобы получить этот вывод:

Список свойств включает в себя все возможные аргументы, которые требуются системной службе, и все они помечены как «N / A», что означает «Неприменимо».

Я также искал в Google "wmic service create"и нашел четыре мизерных ответа, но ни один из них не был связан с созданием сервиса.

Я думаю, что вам нужно будет прибегнуть к другому инструменту, чем wmic.

Например, документация PowerShell включает в себя апплет New-Service .

WMI сам включает такой метод в метод Create класса Win32_Service, но вам нужно будет вызывать его с помощью другого метода, чем wmic.

Благодарю. но что такое применение `create` в wmic для` service`? Mohammadreza Panahi 5 лет назад 0
`create` является допустимым ключевым словом и работает для других глаголов, таких как` process`, но не для `service`. Похоже, что эта комбинация ключевых слов просто никогда не была реализована, намеренно или пропущено, поэтому она генерирует только неинформативное сообщение об ошибке. Когда я пытаюсь сделать это с правильным синтаксисом, я получаю сообщение «ОШИБКА: Описание = Неподдерживаемый параметр», что, я думаю, означает, что «создание службы» не поддерживается. harrymc 5 лет назад 1
о, так это только для процесса! Благодарю. Mohammadreza Panahi 5 лет назад 0

Похожие вопросы