Skip to main content

PowerShell check NIC Driver Version and other Information




Below is a PowerShell code that uses the Get-WMIObject cmdlet and Win32_NetworkAdapter WMI class to check driver version, Description, Manufacturer, driver date, and signer or the publisher of the driver.

Win32_NetworkAdapter WMI class is used to get the information about the Network Adapters available or installed on a server or computer.

To dig more about, Win32_NetworkAdapter WMI class check this link:


PowerShell cmdlets are commented on how the script works to get the data about the Network Adapter.

The gwmi or Get-WMIObject by default its output has a lot of trailing spaces.

PowerShell has trim and replace functionality to get rid of the trailing spaces.

Copy and paste the code below, and use PowerShell ISE to do a test run.

 = = = = = = = = = = = = = = = = = = = = =

#Server - change to the server name or computer name where the information will be taken
# "." will indicate the current Computer where the script is running

#Server="Computer_Name"
$Server= "."

#Change the location and filename to any desired output
$xFile = "d:\myDriverList.txt"

#Trim the output of gwmi
#gwmi - is shortcut alias for Get-WmiObject 


$NetworkAdapters = (gwmi -computer $Server win32_networkadapter | select name |  Out-String).Trimend()




#uncomment command below if want need to see the output of $NetworkAdapters
#write $NetworkAdapters

$xNetAdapters = $NetworkAdapters.ToString().TrimEnd() 
#write $xNetAdapter



#replace the spaces with nothing
#note the .replace(  )is a double space
#if it is set to single space it will remove all the spaces on the string
$xNetAdapters = $xNetAdapters.ToString()



$xNetAdapters = $xNetAdapters.replace("  ","") | Set-Content $xFile
#write-host $xNetAdapters


#skip the first 3 lines on the file which is not needed
$xcontent = Get-Content $xfile | Select-Object -Skip 3



ForEach ($Line In $xcontent)
{

#write $Line

#List the driver description,Manufacturer, driverdate, driver version and the signer or publisher


$NetWorkDrivers = Get-WmiObject win32_pnpsigneddriver | WHERE { $_.Description -like "*$Line*" }  | select Description , Manufacturer, driverdate, driverversion, signer
write $NetWorkDrivers


}

 = = = = = = = = = = = = = = = = = = = = =
 Sample Output:

Description   : WAN Miniport (IKEv2)
Manufacturer  : Microsoft
driverdate    : 20060621000000.******+***
driverversion : 6.2.9200.16384
signer        : Microsoft Windows


Description   : Microsoft Kernel Debug Network Adapter
Manufacturer  : Microsoft
driverdate    : 20060621000000.******+***
driverversion : 6.2.9200.16384
signer        : Microsoft Windows

Description   : Intel(R) I350 Gigabit Network Connection
Manufacturer  : Intel Corporation
driverdate    : 20120229000000.******+***
driverversion : 12.0.150.0
signer        : Microsoft Windows


Description   : Microsoft ISATAP Adapter
Manufacturer  : Microsoft
driverdate    : 20060621000000.******+***
driverversion : 6.2.9200.16384
signer        : Microsoft Windows

Description   : Hyper-V Virtual Ethernet Adapter
Manufacturer  : Microsoft
driverdate    : 20060621000000.******+***
driverversion : 6.2.9200.16384
signer        : Microsoft Windows

Description   : Microsoft Network Adapter Multiplexor Default Miniport
Manufacturer  : Microsoft
driverdate    : 20060621000000.******+***
driverversion : 6.2.9200.16384
signer        : Microsoft Windows

Description   : Microsoft Network Adapter Multiplexor Driver
Manufacturer  : Microsoft
driverdate    : 20060621000000.******+***
driverversion : 6.2.9200.16384
signer        : Microsoft Windows

Description   : Virtual Machine Network Services Driver
Manufacturer  : Microsoft
driverdate    : 20080116000000.******+***
driverversion : 2.6.623.0
signer        : Microsoft Windows Hardware Compatibility Publisher

Description   : VirtualBox Bridged Networking Driver Miniport
Manufacturer  : Oracle Corporation
driverdate    : 20121219000000.******+***
driverversion : 4.2.6.0
signer        :

Description   : Intel(R) 82579LM Gigabit Network Connection
Manufacturer  : Intel
driverdate    : 20121008000000.******+***
driverversion : 12.2.45.0
signer        : Microsoft Windows Hardware Compatibility Publisher

Description   : WAN Miniport (IP)
Manufacturer  : Microsoft
driverdate    : 20060621000000.******+***
driverversion : 6.1.7601.17514
signer        : Microsoft Windows

Description   : RAS Async Adapter
Manufacturer  : Microsoft
driverdate    : 20060621000000.******+***
driverversion : 6.1.7601.17514
signer        : Microsoft Windows


Cheers!! Hope it helps.


----------------------------------

Free Android app, download at Google play:



Linux Android App cheat sheet:
https://play.google.com/store/apps/details?id=com.LinuxMobileKit

Android Divine Mercy Chaplet Guide  
https://play.google.com/store/apps/details?id=com.dmercyapp 


Comments

Popular posts from this blog

Notepad++ convert multiple lines to a single line and vice versa

Notepad++ is an awesome text editing tool, it can accept regex to process the text data. If the data is in a “.csv” format or comma separated values which is basically just a text file that can either be opened using a text editor, excel or even word. Notepad++ can process the contents of the file using regex. Example if the data has multiple rows or lines, and what is needed is to convert the whole lines of data into a single line. Notepad++ can easily do it using regex. However, if the data is on a single line and it needs to be converted into multiple lines or rows then regex can also be used for this case. Here’s an example on how to convert multiple rows or lines into a single line. Example data: Multiple rows, just a sample data. Press Ctrl+H, and  on "Find what" type: [\r\n]+ and on "Replace with" type with: , (white space) --white space is needed if need to have a space in between the data. See image below, "Regular Expression" must be se

WMIC get computer name

WMIC get computer model, manufacturer, computer name and  username. WMIC is a command-line tool and that can generate information about computer model, its manufacturer, its username and other informations depending on the parameters provided. Why would you need a command line tool if there’s a GUI to check? If you have 20 or 100 computers, or even more. It’s quite a big task just checking the GUI to check the computer model and username. If you have remote computers, you need to delegate someone in the remote office or location to check. Or you can just write a batch file or script to automate the task. Here’s the code below on how get computer model, manufacturer and the username. Open an elevated command prompt and type:     wmic computersystem get "Model","Manufacturer", "Name", "UserName" Just copy and paste the code above, the word “computersystem” does not need to be change to a computer name. A

How to check office version from command line

The are quite a few ways to check office version it can be done via registry, PowerShell or VBScript and of course, good old command line can also do it. Checking Windows office version whether it is Office 2010, Office, 2013, Office 2016 or other version is quite important to check compatibility of documents; or just a part of software inventory. For PowerShell this simple snippet can check the office version: $ol = New-Object -ComObject Excel.Application $ol . Version The command line option will tell you where’s the path located; the result will also tell whether office is 32-bit, 64-bit and of course the version of the office as well. Here’s the command that will check the office version and which program directory the file is located which will tell whether it’s 32-bit or 64-bit. Command to search for Excel.exe: DIR C:\ /s excel.exe | find   /i "Directory of"  Above command assumes that program files is on  C: drive. Sample Outpu