I have a script below to gather Driver Name and Version from a conputer list but can't seem to get the output format I wanted in either excel or html format below
DriverNamame Computer1 Computer2 Computer3
WAN miniport 6.1.7600 6.1.7601 6.1.7601
Microsoft ISATAP 6.1.7600 6.1.7600 ---------- or Not Installed
My script is below ------------------------------
function Get-Driver {
<#
#>
[CmdletBinding()]
[OutputType([int])]
Param
(
[Parameter(Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=0)]
$computer
)
Begin
{
}
Process
{
$win32_PnpSignedDriver = @(get-wmiobject -class ‘Win32_PnpSignedDriver’ -computer $computer)
foreach ($drv in $win32_PnpSignedDriver){
$Drivers = New-Object PSObject -Property @{
Class = $drv.DeviceClass
Name = $drv.DeviceName
Version = $drv.DriverVersion
Description = $drv.Description
}
Write-Output $Drivers |sort class| Select-Object Class, Name, Version
}
}
End
{
}
}
$DrvVer = @()
$computers = get-content c:\Computerlist.txt
foreach ($computer in $computers)
{
foreach ($InstDrv in (Get-Driver -computer $computers | where {$_.class -match "NET"}| Select Name,Version))
{
$drv = New-Object System.Object
$drv | Add-Member -type NoteProperty -name "Server" -value $computer
$drv | Add-Member -type NoteProperty -name "DrvName" -value $InstDrv.Name
$drv | Add-Member -type NoteProperty -name "DrvVersion" -value $InstDrv.Version
$DrvVer += $drv
}
}