Jump to content

List all PCI cards


Recommended Posts

  • 2 weeks later...

I think this type of information could be get by WMI.

Look at this computer info UDF for the example:

EDIT:

WMI Classes

http://msdn.microsoft.com/en-us/library/windows/desktop/aa394554%28v=vs.85%29.aspx

Win32 Classes

http://msdn.microsoft.com/en-us/library/windows/desktop/aa394084%28v=vs.85%29.aspx

Motherboard, Controller, and Port Classes

http://msdn.microsoft.com/en-us/library/..._motherboard_controller_and_po

Edited by Zedna
Link to comment
Share on other sites

Here is little snippet, maybe it's close to original question:

$objWMIService = ObjGet("winmgmts:localhostrootCIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PnPEntity WHERE DeviceID LIKE 'PCI%'", "WQL", 48)
For $objItem In $colItems
    ConsoleWrite($objItem.Name & @CR)
    ConsoleWrite($objItem.DeviceID & @CR)
    ConsoleWrite(@CR)
Next
Link to comment
Share on other sites

A good place to start working with WMI is

It shows all kind of available properties and creates AutoIt code for you.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Hello,

thanks water, I know scriptomatic, If i ask in the forum it's because I don't find my solution.

Before the answer of zedna I already test the Win32_PnPEntity, but my goal of the script is to have the drivers version and date, but I didn't find this information in the WMI libraries!

Link to comment
Share on other sites

I used the AIScriptomatic tool and came up with this script from it.

; Generated by AutoIt Scriptomatic May 22, 2012

$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = "localhost"

$Output=""
$Output &= "Computer: " & $strComputer  & @CRLF
$objWMIService = ObjGet("winmgmts:" & $strComputer & "ROOTCIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PnPSignedDriver", "WQL", _
                                          $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

If IsObj($colItems) then
   For $objItem In $colItems
      $Output &= "Caption: " & $objItem.Caption & @CRLF
      $Output &= "ClassGuid: " & $objItem.ClassGuid & @CRLF
      $Output &= "CompatID: " & $objItem.CompatID & @CRLF
      $Output &= "CreationClassName: " & $objItem.CreationClassName & @CRLF
      $Output &= "Description: " & $objItem.Description & @CRLF
      $Output &= "DeviceClass: " & $objItem.DeviceClass & @CRLF
      $Output &= "DeviceID: " & $objItem.DeviceID & @CRLF
      $Output &= "DeviceName: " & $objItem.DeviceName & @CRLF
      $Output &= "DevLoader: " & $objItem.DevLoader & @CRLF
      $Output &= "DriverDate: " & WMIDateStringToDate($objItem.DriverDate) & @CRLF
      $Output &= "DriverName: " & $objItem.DriverName & @CRLF
      $Output &= "DriverProviderName: " & $objItem.DriverProviderName & @CRLF
      $Output &= "DriverVersion: " & $objItem.DriverVersion & @CRLF
      $Output &= "FriendlyName: " & $objItem.FriendlyName & @CRLF
      $Output &= "HardWareID: " & $objItem.HardWareID & @CRLF
      $Output &= "InfName: " & $objItem.InfName & @CRLF
      $Output &= "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF
      $Output &= "IsSigned: " & $objItem.IsSigned & @CRLF
      $Output &= "Location: " & $objItem.Location & @CRLF
      $Output &= "Manufacturer: " & $objItem.Manufacturer & @CRLF
      $Output &= "Name: " & $objItem.Name & @CRLF
      $Output &= "PDO: " & $objItem.PDO & @CRLF
      $Output &= "Signer: " & $objItem.Signer & @CRLF
      $Output &= "Started: " & $objItem.Started & @CRLF
      $Output &= "StartMode: " & $objItem.StartMode & @CRLF
      $Output &= "Status: " & $objItem.Status & @CRLF
      $Output &= "SystemCreationClassName: " & $objItem.SystemCreationClassName & @CRLF
      $Output &= "SystemName: " & $objItem.SystemName & @CRLF
   Next
   ConsoleWrite($Output)
   FileWrite(@TempDir & "Win32_PnPSignedDriver.TXT", $Output )
   Run(@Comspec & " /c start " & @TempDir & "Win32_PnPSignedDriver.TXT" )
Else
   Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_PnPSignedDriver" )
Endif


Func WMIDateStringToDate($dtmDate)

    Return (StringMid($dtmDate, 5, 2) & "/" & _
    StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
    & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2))
EndFunc

Perhaps using a script to find the devices you're looking for, filtering what this provides by the DeviceName property, you can find the .DriverVersion and the .DriverDate.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...