ฉันพยายามดึงข้อมูลไดรเวอร์จากคอมพิวเตอร์ทุกเครื่องในเครือข่ายของเรา แต่พบปัญหาที่บางเครื่องแสดงข้อผิดพลาด คำสั่งที่ฉันใช้คือ:
รับ CimInstance Win32_PnPSignedDriver | Where-Object DeviceName -eq "ชื่อไดรเวอร์" | Select-Object DriverVersion
และข้อผิดพลาดที่คอมพิวเตอร์บางเครื่องโยนคือ:
รับ CimInstance Win32_PnPSignedDriver | Where-Object DeviceName -eq " ...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CategoryInfo : NotSpecified: (root\cimv2:Win32_PnPSignedDriver:String) [Get-CimInstance], CimException
FullyQualifiedErrorId : HRESULT 0x800706be,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand
แม้ว่าฉันจะลดความซับซ้อนของคำสั่งลงเป็น Get-CimInstance Win32_PnpSignedDriver ฉันก็ยังได้รับข้อผิดพลาดเดิม คำสั่งต่อไปนี้ใช้งานได้ดี:
รับ CimInstance Win32_ComputerSystem
รับ CimInstance Win32_Process
รับ CimInstance CIM_LogicalDevice
รับ WmiObject win32_PnpSignedDriver
ดังนั้นจึงดูเหมือนว่าเฉพาะเจาะจงสำหรับการรวม Get-CimInstance และ Win32_PnPSignedDriver ฉันพยายามสร้างที่เก็บ wmi ใหม่โดยใช้สิ่งต่อไปนี้:
winmgmt / ตรวจสอบที่เก็บ
Winmgmt /salvagerepository
แต่พวกเขาไม่รายงานสิ่งผิดปกติและไม่แก้ไขปัญหา ฉันได้ลองสร้างใหม่ด้วยตนเองด้วยพรอมต์คำสั่งโดยใช้สิ่งต่อไปนี้:
sc config winmgmt start = ปิดใช้งาน
หยุดสุทธิ winmgmt
ซีดี %windir%\system32\wbem
สำหรับ /f %s ใน ('dir /b .dll') ทำ regsvr32 /s %s
wmiprvse /regserver
sc config winmgmt start = อัตโนมัติ
winmgmt เริ่มต้นสุทธิ
สำหรับ /f %s ใน ('dir /b .mof') ทำ mofcomp %s
สำหรับ /f %s ใน ('dir /b *.mfl') ทำ mofcomp %s
แต่ไม่มีโชค รุ่นของ PowerShell บนคอมพิวเตอร์ที่ใช้งานได้และคอมพิวเตอร์ที่ส่งข้อผิดพลาดจะเหมือนกัน มีความคิดเกี่ยวกับสิ่งที่อาจเกิดขึ้น?