Unable to export the result to .CSV file ?
Posted: Mon Feb 04, 2019 4:20 pm
People,
I'm trying to the list of the installed update like the below result into .CSV like running the Get-HotFix manually one by one for each server:
Using the PowerShell script below:
However, even with the code above, there is no result in the .CSV and it is still blank.
Any help would be greatly appreciated.
Thank you.
I'm trying to the list of the installed update like the below result into .CSV like running the Get-HotFix manually one by one for each server:
Code: Select all
ServerName, Last Time Update Installed, KB Number, KB Update Name, InstalledBy
PRODDB01, 31/12/2018 02:46:55, KB4462930, Cumulative Update, NT AUTHORITY\SYSTEM
PRODDB02, 18/12/2018 12:00:00 AM, KB4471324, Security Update, DOMAIN\SVC-SCCM
PRODDC01, 16/1/2019 02:16:31, KB4343669, Cumulative Update, DOMAIN\SVC-SCCM
PRODDC02, 13/1/2018 03:00:00 AM, KB4457146, Security Update, DOMAIN\Admin-IT1
Code: Select all
$CsvFile = 'C:\Result.csv'
$key = 'SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Install'
$keytype = [Microsoft.Win32.RegistryHive]::LocalMachine
$OUList = @(
"OU=TEST Servers,OU=MyDomain Testing,DC=MyDomain,DC=com"
"OU=PROD Servers,OU=Servers,OU=MyDomain Sydney,DC=MyDomain,DC=com"
"OU=PROD Servers,OU=Servers,OU=New Company,DC=MyDomain,DC=com"
)
$OUList | ForEach-Object {
$OU = $_
$Computers = Get-ADComputer -Filter {Enabled -eq $True -and OperatingSystem -like "*Server*"} -SearchBase $OU |
Select-Object -ExpandProperty DNSHostName |
ForEach-Object {
If (Test-Connection $_ -Count 1 -Quiet) {
$_
}
Else {
Write-Host "Cannot reach $($_)" -ForegroundColor Red
}
}
ForEach ($computer in $Computers) {
Try {
$remoteBase = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($keytype, $computer)
$regKey = $remoteBase.OpenSubKey($key)
$keyValue = $regkey.GetValue('LastSuccessTime')
Write-Host ''
Write-Host "$($computer): last time updates were installed was $($keyValue)"
}
Catch {
$ | Write-Error
}
Finally {
If ($regKey) {$regKey.Close()}
}
}
} | Export-Csv -Path $Csvfile -NoTypeInformation
Any help would be greatly appreciated.
Thank you.