3

次のようなPowerShellアクセスUSBドライブの使用方法について説明するいくつかの投稿と記事を見てきました。

しかし、実際に質問に「答える」人はいません。共有された最後の投稿では、MTP (プロトコル) 自体に特定の制限があるため、誰も MTP ソリューションを作成したことがないと述べています。

私が取った1つのルートは、壁にぶつかったようなものです。次に何をすればよいかわかりません (wmi オブジェクトで)。次の vbscript プログラムを使用し、ここから取得したいデバイスのデバイス ID を書き留めました。

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の方法があると思います。どうすればそれをしなければなりませんか?

4

1 に答える 1

0

Power Shell で MTP デバイスを見つけるには、次のコマンドを使用します。

Get-WmiObject -class win32_pnpentity -computername localhost | where-object {$_.HardwareID -like "*MTP*"} | format-list

Samsung Galaxy S5 の出力例

__GENUS : 2 __CLASS : Win32_PnPEntity __SUPERCLASS : CIM_LogicalDevice __DYNASTY : CIM_ManagedSystemElement __RELPATH : Win32_PnPEntity.DeviceID="USB\\VID_04E8&PID_6860&MS_COMP_MTP&SAMSUNG_ANDROID\\6&8F62A49&0&0000" __PROPERTY_COUNT : 24 __DERIVATION : {CIM_LogicalDevice, CIM_LogicalElement, CIM_ManagedSystemElement} __SERVER : -*- Computer Name -*- __NAMESPACE : root\cimv2 __PATH : \\-*- Computer Name -*-\root\cimv2:Win32_PnPEntity.DeviceID="USB\\VID_04E8&PID_6860&MS_COMP_MTP&SAMSUNG_ANDROID\\6&8F62A49&0&0000" Availability : Caption : -*- device display name in explorer -*- ClassGuid : {eec5ad98-8080-425f-922a-dabf3de3f69a} CompatibleID : {USB\MS_COMP_MTP, USB\Class_06&SubClass_01&Prot_01, USB\Class_06&SubClass_01, USB\Class_06...} ConfigManagerErrorCode : 0 ConfigManagerUserConfig : False CreationClassName : Win32_PnPEntity Description : SM-G900P DeviceID : USB\VID_04E8&PID_6860&MS_COMP_MTP&SAMSUNG_ANDROID\6&8F62A49&0&0000 ErrorCleared : ErrorDescription : HardwareID : {USB\VID_04E8&PID_6860&REV_0400&MS_COMP_MTP&SAMSUNG_Android, USB\VID_04E8&PID_6860&MS_COMP_MTP&SAMSUNG_Android, USB\SAMSUNG_MOBILE&MS_COMP_MTP&SAMSUNG_Android, USB\SAMSUNG_MOBILE&MI_00...} InstallDate : LastErrorCode : Manufacturer : Samsung Electronics Co., Ltd. Name : -*- device display name in explorer -*- PNPDeviceID : USB\VID_04E8&PID_6860&MS_COMP_MTP&SAMSUNG_ANDROID\6&8F62A49&0&0000 PowerManagementCapabilities : PowerManagementSupported : Service : WUDFRd Status : OK StatusInfo : SystemCreationClassName : Win32_ComputerSystem SystemName : -*- Computer Name -*-

于 2015-06-01T19:24:16.790 に答える