tech.guitarrapc.cóm

Technical updates

PowerShellで所定のWindows Updateがインストールされているか確認する

先日のWindows Updateで配布されたKB2823324は困りものですね。
[MS13-036] Windows ファイル システム カーネル モード ドライバー (ntfs.sys) セキュリティ更新プログラムについて (2013 年 4 月 9 日)
特に一部アンチマルウェアソフトで、本KBにかかわる部分のWindowsカーネルをフックしているとBSODとか、涙ものです。 さて、アンインストールがMSから正式に推奨されてるわけですが、自分や社内のPCに問題のKB入っているか調べるのは……面倒ですよね? スクリプトを作ったのでよろしければどうぞ。

スクリプト全文

param(
    [string]
    $kb="KB2823324"
)


Get-WmiObject -Class Win32_QuickFixEngineering `
    | %{
        if($_.HotFixID -eq $kb)
        {
            "$kb found. Opening application list, let's uninstall $kb."
            Invoke-Command {appwiz.cpl}
        }
        else
        {
            "$kb not found. Lucky you!"
        }
    } `
    | sort -Unique `
    | select -First 1

pause
ということで、PowerShell Remotingでも使えるようにFunctionとしています。 引数の-kb に対象のkbを渡せばサクッと見つけて、もしあれば「プログラム(機能)の追加と削除」を開いてくれます。 なければ良かったね!とでます。 利用されたい方はこちらからスクリプトをどうぞ。
GitHub - guitarrapc / PowerShellUtil / KBSearch
あー、知らなかった (( くそー