Ищете способ распечатать серийный номер USB в VBS - PullRequest
0 голосов
/ 26 января 2019

Я унаследовал прикрепленный скрипт, и теперь мне нужно распечатать SerialNumber. Я думаю, что я 2-3 строки, но я новичок в VBScript. Пожалуйста, дайте мне знать, что я пропустил. Я пытаюсь напечатать SerialNumber для USB-устройств.

Я смотрю на это: https://docs.microsoft.com/en-us/windows/desktop/CIMWin32Prov/win32-diskdrive и думаю, что SerialNumber - это то, что мне нужно получить.

' VB Script Document 28556806.vbs
option explicit
On Error Goto 0

Dim ComputerName, strRslt, strQuery
Dim wmiServices _
  , wmiDiskDrives, wmiDiskDrive _
  , wmiDiskPartitions, wmiDiskPartition _
  , wmiLogicalDisks, wmiLogicalDisk

strRslt = Wscript.ScriptName _
    & vbTab & "Drive letters associated with disk drives" _ 

ComputerName = "."

Set wmiServices  = GetObject ( _
    "winmgmts:{impersonationLevel=Impersonate}!//" _
    & ComputerName)
' Get physical disk drive
Set wmiDiskDrives =  wmiServices.ExecQuery ( _
    "SELECT Caption, DeviceID, InterfaceType FROM Win32_DiskDrive")

For Each wmiDiskDrive In wmiDiskDrives
    strRslt = strRslt & vbNewLine
    strRslt = strRslt & vbNewLine _
      & "DiskDrive.Caption = " & wmiDiskDrive.Caption _ 
      & vbNewLine & "DiskDrive.InterfaceType = " _
          & wmiDiskDrive.InterfaceType

    'Use the disk drive device id to find associated partition
    strQuery = "ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" _
        & wmiDiskDrive.DeviceID _
        & "'} WHERE AssocClass = Win32_DiskDriveToDiskPartition"    
    Set wmiDiskPartitions = wmiServices.ExecQuery(strQuery)

    For Each wmiDiskPartition In wmiDiskPartitions
        'Use partition device id to find logical disk
        Set wmiLogicalDisks = wmiServices.ExecQuery _
            ("ASSOCIATORS OF {Win32_DiskPartition.DeviceID='" _
             & wmiDiskPartition.DeviceID _
             & "'} WHERE AssocClass = Win32_LogicalDiskToPartition")     

        For Each wmiLogicalDisk In wmiLogicalDisks
            strRslt = strRslt _
              & vbNewLine & "DiskDrive.Caption = " _
                  & wmiDiskDrive.Caption _
              & vbNewLine & "DiskDrive.DeviceID = " _
                  & wmiDiskDrive.DeviceID _
              & vbNewLine & "DiskPartition.Partition = " _
                  & wmiDiskPartition.DeviceID _
              & vbNewLine & "LogicalDisk.DeviceID = " _
                  & wmiLogicalDisk.DeviceID 
        Next      
    Next
Next

WScript.Echo strRslt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...