来自powershell的参数错误,但不是来自cmd

时间:2018-01-19 11:51:08

标签: powershell wdf

从命令shell(cmd.exe)Win10,以下调用是正确的:

.\devcon.exe disable "USB\VID_0547&PID_1002&REV_0000"

但如果我从powershell做同样的事情,我会得到结果

No matching devices found.

与此相同:

$retDevice = Get-WmiObject Win32_PNPEntity | select PnpDeviceID | where {$_.pnpdeviceid -like "USB\VID_0547&*"}
$callparam = $(" disable"  +" " + $retDevice.pnpdeviceid.ToString()) + """"
.\devcon.exe  $callparam

如果我看下面的字符串似乎都是正确的。

$callparam | Out-Default
out -> disable USB\VID_0547&PID_1002\5&22AA7556&0&2"

1 个答案:

答案 0 :(得分:0)

使用start-Process代替:

Start-Process -FilePath $PathToDevcon -ArgumentList @('enable', '"USB\VID_0547&PID_1002&REV_0000"') -WindowStyle Hidden -Wait 

WindowStyle和wait当然是optionnal