Archive

Posts Tagged ‘code’

PowerShell: Get information for an update installation when it is started, finished, and how long take

09 August 2018 Leave a comment

Microsoft’s updates never end. According to some system administrators, this is a headache. According to some system administrators, it is necessary for security. Although you are working with too many updates, in some cases you may need detailed information about the update installation. When did the update begin? When was the update installed? How long was the update set up?

PowerShell_ISE
In such situations grab the PowerShell help 🙂
The following codes fetch this information about the update you specified from the machine’s EventView logs.

Update_Installation

$eventt=Get-WinEvent -FilterHashtable @{Logname = ‘setup’; id = 1} |
Select Message, Timecreated | Select-String -Pattern ‘KB4339420\d*’ –AllMatches

$eventt |
foreach{
$zaman=(($_.line).split(“;”)[1].split(” “)[2]).replace(“}”,””)
$KB2=$_.matches
$kb=$kb2 | foreach{$_.value}
Write-host $KB “Installation start time” $zaman
}

$eventt2=Get-WinEvent -FilterHashtable @{Logname = ‘setup’; id = 4} |
Select Message, Timecreated | Select-String -Pattern ‘KB4339420\d*’ –AllMatches

$eventt2 |
foreach{
$zaman2=(($_.line).split(“;”)[1].split(” “)[2]).replace(“}”,””)
$KB4=$_.matches
$kb3=$kb4 | foreach{$_.value}
Write-host $KB3 “Installation finish time” $zaman2
[timespan]$sonuc=[timespan]$zaman2-[timespan]$zaman
write-host $KB3 ” update installed in ” $sonuc.minutes “minute(s) and ” $sonuc.seconds “second(s)”
}

Note: I have set these codes so that they get information for the update that was set up during the day. If you need information for a different day, you may need to make changes.

Advertisements