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