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

Copy a single file using robocopy

Copy a single file using robocopy from a local folder to a shared folder on the network.
A simple rule of thumb before any disaster strike, don't interchange the source and the destination.

If source and destination is mistakenly reverse, files might get overwritten. To avoid any loss of data do a test with a dummy file to ensure things work perfectly.
Robocopy [source][destination]   [file to be copied]
robocopy c:\local_c_folder  \\PC_network\shared_folder   file_to_be_copied_xx.txt
The command will be completed successfully provided the network access right has no issues.

Robocopy works quite good on large files. A simple copy or xcopy command will also work but the speed might vary.

Robocopy is free it can be accessed from command line. No need to install the resource kit tool if the operating system is Windows 7 or newer version.

Copy files with selected file extension using PowerShell and Robocopy:

$extension = ('.pdf', '.jpg', '.txt')
gci d:\WorkFolde…

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 sample output below will be generated if the co…