В последнее время у меня возникла проблема с WMI на одной из систем (win server 2019). Список служб в диспетчере задач был пуст, и при запуске Get-WmiObject Win32_Service
из PowerShell возвращалось Generic failure
. После бесплодных часов поиска и попыток восстановить систему я сдался и был готов переустановить систему. Затем ошибка была случайно воспроизведена на другом компьютере, и я смог сузить причину проблемы. После создания службы windows с коротким именем и кратким отображаемым именем WMI тормозит после перезапуска системы, но только если эта служба стоит первой (в алфавитно-цифровом порядке c) в списке служб. Чтобы воспроизвести этот эффект, вам нужно только запустить
sc create "A1" binpath="D:\foobar.exe" DisplayName="A1" start=disabled
binpath
не имеет значения, службу запускать не нужно. DisplayName
не обязательно должно совпадать с именем. После этой команды нужно перезагрузить (перед перезапуском все работает). После этого, если вы go попадете в список служб в диспетчере задач, он будет пустым (возможно, с использованием WMI для запроса списка служб). Теперь вы можете запустить sc delete "A1"
и снова открыть диспетчер задач. Все вернулось в норму.
Проблема была воспроизведена на Windows Server 2019 и Windows 10 (не пробовал на других версиях).
Это известная ошибка или что есть здесь происходит?
EDIT Я не спрашиваю, как использовать sc
. Это неважно. Я предоставил команды, которые можно запустить, чтобы воспроизвести проблему. Вы можете создать услугу с этими параметрами, как хотите.