Modifying PowerShell script to export to .CSV for the computer within specific OU
People,
Can anyone here please assist me in modifying the below powershell script so that it can be exported to CSV script for easy sorting ?
# This script shows the last time that a successfull Windows Update was installed.clsadd-PSSnapin quest.activeroles.admanagement$OnlineServers = @()Get-QADComputer -SearchRoot 'domain.com/Terminal Servers/Production 1' -OSName "Windows*Server*" | where {$_.accountisdisabled -eq $false} | % { $PingResult = Get-WmiObject -Query "SELECT * FROM win32_PingStatus WHERE address='$($_.Name)'" If ($PingResult.StatusCode -eq 0) { # Add the current name to the array $OnlineServers += "$($_.Name)" }}foreach ($Server in $OnlineServers ) { $key = "SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Install" $keytype = [Microsoft.Win32.RegistryHive]::LocalMachine $RemoteBase = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($keytype,$Server) $regKey = $RemoteBase.OpenSubKey($key) $KeyValue = $regkey.GetValue("LastSuccessTime") $System = (Get-Date -Format "yyyy-MM-dd hh:mm:ss") if ($KeyValue -lt $System) { Write-Host " " Write-Host $Server "Last time updates were installed was: " $KeyValue }}
Feel free to replace the Get-QADComputerr with the builtin Get-ADComputerAccount and use Test-Connection instead of the existing convoluted way of doing it.
Ideally the exported result can just be:
ComputerName, last time windows updated, what KBnumber applied if possible.
Somehow it is failed with empty CSV result file and the below error message:
Open in new window