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を渡せばサクッと見つけて、もしあれば「プログラム(機能)の追加と削除」を開いてくれます。

利用されたい方はこちらからスクリプトをどうぞ。

guitarrapc/PowerShellUtil - KBSearch | GitHub

知らなかった。

牟田口大介さん (@mutaguchi) 2013年4月16日