Я просмотрел несколько сообщений и статей, в которых обсуждается, как использовать USB-накопитель для доступа к powershell, например:
- Просмотр файлов на камере с помощью PowerShell
- Список всех устройств, разделов и томов в Powershell
- https://superuser.com/a/377008/9546
Но ни один из них на самом деле не «ответит» на вопрос. В последнем опубликованном сообщении также говорится, что никто никогда не создавал решение MTP из-за определенных ограничений, которые имеет сам MTP (протокол).
Один маршрут, который я выбрал, как бы врезался в стену; Я не знаю, что делать дальше (с объектом wmi). Я использовал следующую программу vbscript и записал идентификатор интересующего меня устройства, полученный из здесь:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colDevices = objWMIService.ExecQuery _
("Select * From Win32_USBControllerDevice")
For Each objDevice in colDevices
strDeviceName = objDevice.Dependent
strQuotes = Chr(34)
strDeviceName = Replace(strDeviceName, strQuotes, "")
arrDeviceNames = Split(strDeviceName, "=")
strDeviceName = arrDeviceNames(1)
Set colUSBDevices = objWMIService.ExecQuery _
("Select * From Win32_PnPEntity Where DeviceID = '" & strDeviceName & "'")
For Each objUSBDevice in colUSBDevices
Wscript.Echo objUSBDevice.Description
Next
Next
Я как бы подключил это в приведенной ниже команде powershell, чтобы получить объект wmi:
Get-WmiObject win32_pnpentity -filter "DeviceID='<the_device_id>'"
Теперь я думаю, что у меня есть объект WMI. Но что я могу с этим сделать.
Исходя из последнего поста, на который я ссылался, у меня есть подозрение, что есть COM-способ справиться с этим. Как мы должны это сделать?