Site Overlay

Windows Update History

Windows Update History

Bu komut yüklü güncellemeleri alır ve Powershell eranında gösterir tek satırlık Powershell Komutu:

Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object @{Name='InstalledOn';Expression={$_.InstalledOn.ToString('yyyy-MM-dd')}}, HotFixID, Description, InstalledBy

Bu komut yüklü güncellemeleri alır ve Powershell eranında gösterir:

Get-HotFix |
Sort-Object InstalledOn -Descending |
Select-Object @{
    Name='InstalledOn'; Expression={ $_.InstalledOn.ToString('yyyy-MM-dd') }
}, HotFixID, Description, InstalledBy

Daha detaylı ve bazen daha kapsamlı yöntem – WMI/CIM

Get-CimInstance Win32_QuickFixEngineering |
Sort-Object InstalledOn -Descending |
Select-Object InstalledOn, HotFixID, Description, InstalledBy

Önemli not

Get-HotFix / Win32_QuickFixEngineering çoğu Windows Update / KB kaydını gösterir; ancak bazı:

  • Defender intelligence update’leri,
  • Microsoft Store update’leri,
  • feature update bileşenleri,
  • bazı cumulative update alt bileşenleri

her zaman burada tam görünmeyebilir.

HTML raporu üreten PowerShell scripti

$OutFile = "C:\Temp\InstalledUpdates_Report.html"
New-Item -ItemType Directory -Path (Split-Path $OutFile) -Force | Out-Null

$ComputerName = $env:COMPUTERNAME
$OS = (Get-CimInstance Win32_OperatingSystem).Caption
$GeneratedOn = Get-Date -Format "yyyy-MM-dd HH:mm:ss"

$Updates = Get-HotFix |
    Sort-Object InstalledOn -Descending |
    Select-Object `
        @{Name='ComputerName';Expression={$env:COMPUTERNAME}},
        @{Name='OperatingSystem';Expression={$OS}},
        @{Name='InstalledOn';Expression={
            if ($_.InstalledOn) {
                try { ([datetime]$_.InstalledOn).ToString('yyyy-MM-dd') }
                catch { $_.InstalledOn }
            } else {
                ""
            }
        }},
        HotFixID,
        Description,
        InstalledBy

$Header = @"
<html>
<head>
    <meta charset='UTF-8'>
    <title>Installed Updates Report - $ComputerName</title>
    <style>
        body {
            font-family: Arial, Helvetica, sans-serif;
            margin: 20px;
            color: #222;
        }
        h1 {
            color: #1f4e79;
            margin-bottom: 5px;
        }
        h2 {
            color: #444;
            margin-top: 0;
            font-size: 16px;
            font-weight: normal;
        }
        .meta {
            margin-bottom: 20px;
            padding: 12px;
            background: #f4f6f8;
            border-left: 4px solid #1f4e79;
        }
        table {
            border-collapse: collapse;
            width: 100%;
            font-size: 13px;
        }
        th {
            background-color: #1f4e79;
            color: white;
            padding: 8px;
            border: 1px solid #d0d7de;
            text-align: left;
        }
        td {
            padding: 8px;
            border: 1px solid #d0d7de;
        }
        tr:nth-child(even) {
            background-color: #f8f9fa;
        }
        tr:hover {
            background-color: #eef5ff;
        }
    </style>
</head>
<body>
    <h1>Installed Updates Report</h1>
    <h2>$ComputerName</h2>
    <div class='meta'>
        <b>Computer Name:</b> $ComputerName<br>
        <b>Operating System:</b> $OS<br>
        <b>Report Generated On:</b> $GeneratedOn
    </div>
"@

$Footer = @"
</body>
</html>
"@

$Table = $Updates | ConvertTo-Html -Fragment

($Header + $Table + $Footer) | Out-File -FilePath $OutFile -Encoding UTF8

Write-Host "HTML rapor oluşturuldu: $OutFile"

HTML raporu üreten Tek satırlık PowerShell scripti

$OutFile="C:\Temp\InstalledUpdates_Report.html"; New-Item -ItemType Directory -Path (Split-Path $OutFile) -Force | Out-Null; $ComputerName=$env:COMPUTERNAME; $OS=(Get-CimInstance Win32_OperatingSystem).Caption; $GeneratedOn=Get-Date -Format "yyyy-MM-dd HH:mm:ss"; $Updates=Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object @{Name='ComputerName';Expression={$env:COMPUTERNAME}}, @{Name='OperatingSystem';Expression={$OS}}, @{Name='InstalledOn';Expression={if($_.InstalledOn){try{([datetime]$_.InstalledOn).ToString('yyyy-MM-dd')}catch{$_.InstalledOn}}else{""}}}, HotFixID, Description, InstalledBy; $Header="<html><head><meta charset='UTF-8'><title>Installed Updates Report - $ComputerName</title><style>body{font-family:Arial,Helvetica,sans-serif;margin:20px;color:#222;}h1{color:#1f4e79;margin-bottom:5px;}h2{color:#444;margin-top:0;font-size:16px;font-weight:normal;}.meta{margin-bottom:20px;padding:12px;background:#f4f6f8;border-left:4px solid #1f4e79;}table{border-collapse:collapse;width:100%;font-size:13px;}th{background-color:#1f4e79;color:white;padding:8px;border:1px solid #d0d7de;text-align:left;}td{padding:8px;border:1px solid #d0d7de;}tr:nth-child(even){background-color:#f8f9fa;}tr:hover{background-color:#eef5ff;}</style></head><body><h1>Installed Updates Report</h1><h2>$ComputerName</h2><div class='meta'><b>Computer Name:</b> $ComputerName<br><b>Operating System:</b> $OS<br><b>Report Generated On:</b> $GeneratedOn</div>"; $Footer="</body></html>"; ($Header + ($Updates | ConvertTo-Html -Fragment) + $Footer) | Out-File -FilePath $OutFile -Encoding UTF8; Write-Host "HTML rapor oluşturuldu: $OutFile"

Author: Arif Akyüz

Arif Akyüz - Siber Güvenlik Uzmanı ve Dijital Dönüşüm Lideri 15 yılı aşkın süredir bilişim sektöründe, özellikle siber güvenlik ve dijital dönüşüm alanlarında hizmet veren bir uzmanım. Hem stratejik hem de teknik düzeyde çözümler sunarak organizasyonların güvenlik altyapılarını güçlendiriyor ve dijitalleşme süreçlerini yönetiyorum.