Я пытаюсь получить информацию о драйверах со всех компьютеров в нашей сети, но у меня возникла проблема, когда некоторые выдают ошибку. Команда, которую я запускаю, такова:
Get-CimInstance Win32_PnPSignedDriver | Где-Объект DeviceName -eq "имя_драйвера" | Select-Object DriverVersion
И ошибка, которую выдают некоторые компьютеры, такова:
Get-CimInstance Win32_PnPSignedDriver | Где-Объект DeviceName -eq "...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Информация о категории: NotSpecified: (root\cimv2:Win32_PnPSignedDriver:String) [Get-CimInstance], CimException
FullyQualifiedErrorId: HRESULT 0x800706be, Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand
Даже если я упрощу команду до Get-CimInstance Win32_PnpSignedDriver, я все равно получу ту же ошибку. Следующие команды работают нормально:
Get-CimInstance Win32_ComputerSystem
Get-CimInstance Win32_Process
Get-CimInstance CIM_LogicalDevice
Get-WmiObject win32_PnpSignedDriver
Таким образом, это похоже на комбинацию Get-CimInstance и Win32_PnPSignedDriver. Я попытался перестроить репозиторий wmi, используя следующее:
winmgmt/verifyrepository
Winmgmt/спасательный репозиторий
Но они не сообщают о каких-либо ошибках и не устраняют проблему. Я также попытался вручную перестроить его с помощью командной строки, используя следующее:
sc config winmgmt start = отключено
чистая остановка winmgmt
компакт-диск %windir%\system32\wbem
for /f %s in ('dir /b .dll') сделать regsvr32 /s %s
wmiprvse/регсервер
sc config winmgmt start=авто
чистый старт
for /f %s in ('dir /b .mof') сделать mofcomp %s
for /f %s in ('dir /b *.mfl') сделать mofcomp %s
Но не повезло. Версия PowerShell на компьютере, который работает, и на компьютере, который выдает ошибку, одинаковы. Любые идеи о том, что может происходить?