有时在重启/冷启动后我的Win8触摸屏驱动程序出现问题,所以我现在要手动重启它。
所以我想编写一个在登录后启动的脚本,它将禁用驱动程序并再次启用它。
我实际上找到了驱动程序,并且我可以通过以下方式获取驱动程序的对象列表:
Get-WmiObject Win32_PnPSignedDriver| select devicename, driverversion | where {$_.devicename -like "I2C*"}
但在行尾添加“| Disable-Device
”将无效。
有谁能告诉我如何正确编写命令并像批处理文件一样启动脚本?
答案 0 :(得分:6)
至少在Windows 10中它更容易:
$d = Get-PnpDevice| where {$_.friendlyname -like "I2Cwhatever*"}
$d | Disable-PnpDevice -Confirm:$false
$d | Enable-PnpDevice -Confirm:$false
答案 1 :(得分:3)
假设您使用的是Device Management cmdlets,我建议您使用同一包中提供的Get-Device
cmdlet传递管道。
快速查看之后,我发现Disable-Device没有从管道中获取DeviceName或DriverVersion - 并且不会识别它是唯一的识别参数({{1 }})。
technet页面建议,禁用设备:
-TargetDevice
你可以简单地使用这样的东西,假设你的设备名称类似于使用Get-Device cmdlet:
$deviceName = Read-Host -Prompt 'Please enter the Name of the Device to Disable'; Get-Device | Where-Object -Property Name -Like $deviceName | Disable-Device