MS17-010 がインストールされたことを確認する方法

通知

このサポート技術情報は現状のまま提供され、通常の更新チャネル経由で提供される置き換えデータを置換することはありません。 後続のデータより日付が古い置き換え情報は、「セキュリティ更新プログラム ガイド」およびその他の関連ツールで確認できます。

概要

この資料が適用される製品についてはこちらを参照してください。

セキュリティ更新プログラム MS17-010 では、Windows Server Message Block (SMB) v1 のいくつかの脆弱性を解決します。 WannaCrypt ランサムウェアは、MS17-010 更新プログラムに含まれている何らかの脆弱性を悪用します。 MS17-010 がインストールされていないコンピューターは、数種類の悪意のあるソフトウェアのために高いリスクにさらされます。 この記事では、コンピューターが更新されているかどうかを検出するいくつかの簡単な方法について説明しています。

方法 1: インストールされているナレッジ ベース番号で確認する

次の表を使用して、一覧表示されている更新プログラムをチェックします(「MS17-010 パッチが含まれてない」とマークされているものを除く)。 これらのいずれかがインストールされている場合は、MS17-010 がインストールされています。

表 1/2: Windows 7 SP1 以降。 次のロールアップ KB に修正プログラムが含まれています (「4 月のセキュリティ専用 4B」列を除く)。 各 KB 番号の下に、更新された Srv.sys バージョン番号が表示されています。

Windows のバージョン 3 月のセキュリティ専用 更新プログラム (2017 年 3 月 14 日) 3 月の月例ロールアップ
(2017 年 3 月 15 日)
3 月の月例ロールアップのプレビュー
(2017 年 3 月 21 日)
4 月のセキュリティ
専用更新プログラム
(2017 年 4 月 11 日)
4 月の月例ロールアップ
(2017 年 4 月 11 日)
4 月の月例ロールアップのプレビュー
(2017 年 4 月 18 日)
5 月のセキュリティ専用更新プログラム
(2017 年 5 月 10 日)
5 月の月例ロールアップ
(2017 年 5 月 10 日)
ダウンロード リンク
Windows 7 SP1 および Windows Server 2008 R2 SP1 4012212
6.1.7601.23689
4012215
6.1.7601.23689
4012218
6.1.7601.23689
4015546
MS17-010 パッチは含まれない
4015549
6.1.7601.23689
4015552
6.1.7601.23689
4019263
6.1.7601.23762
4019264
6.1.7601.23762
Windows 7 SP1 および Windows Server 2008 R2 SP1 の更新履歴
Windows 2012 4012214
6.2.9200.22099
4012217
6.2.9200.22099
4012220
6.2.9200.22099
4015548
MS17-010 パッチは含まれない
4015551
6.2.9200.22099
4015554
6.2.9200.22099
4019214
6.2.9200.22137
4019216
6.2.9200.22137
Windows Server 2012 の更新履歴
Windows 8.1 and Windows Server 2012 R2 4012213
6.3.9600.18604
4012216
6.3.9600.18604
4012219
6.3.9600.18604
4015547 MS17-010 パッチは含まれない 4015550
6.3.9600.18604
4015553
6.3.9600.18619
4019213
6.3.9600.18655
4019215
6.3.9600.18655
Windows 8.1 および Windows Server 2012 R2 の更新履歴
Windows 10 Version 1507 4012606
10.0.10240.17319
4016637
10.0.10240.17319
- - 4015221
10.0.10240.17319
- - 4019474 10.0.10240.17394 Windows 10 更新履歴
Windows 10 バージョン 1511 4013198
10.0.10586.839
4016636
10.0.10586.839
- - 4015219
10.0.10586.839
- - 4019473
10.0.10586.916
Windows 10 更新履歴
Windows 10 Version Windows Server 2016 4013429
10.0.14393.953
4016635
10.0.14393.953
- - 4015217
10.0.14393.953
- - 4019472
10.0.14393.1198
Windows 10 および Windows Server 2016 の更新プログラムの履歴

 

表 2/2: 2017 年 5 月と 6 月の更新プログラムの継続。

Windows のバージョン 5 月の月例ロールアップのプレビュー
(2017 年 5 月 17 日)
6 月のセキュリティ専用更新プログラム
(2017 年 6 月 14 日)
6 月の月例ロールアップ
(2017 年 6 月 14 日)
ダウンロード リンク
Windows 7 および Server 2008 R2 4019265
6.1.7601.23762
4022722 4022168
6.1.7601.23762
Windows 7 SP1 および Windows Server 2008 R2 SP1 の更新履歴
Windows Server 2012 4019218
6.2.9200.22137
4022718 4022724
6.2.9200.22137
Windows Server 2012 の更新履歴
Windows 8.1 and Windows Server 2012 R2 4019217
6.3.9600.18655
4022717 4022720
6.3.9600.18688
Windows 8.1 および Windows Server 2012 R2 の更新履歴
Windows 10 Version 1507 - - 4032695 Windows 10 更新履歴
Windows 10 バージョン 1511 - - 4032693 Windows 10 更新履歴
Windows 10 Version 1607 および Windows Server 2016 - - 4022723
10.0.14393.1198
Windows 10 および Windows Server 2016 の更新プログラムの履歴

 

表 2: その他の Windows バージョン。 セキュリティ更新プログラムの KB 4012598 を使用する。

Windows のバージョン 文書番号 +
更新された Srv.sys バージョン
ダウンロード リンク
Windows Server 2003 SP2 4012598
5.2.3790.6021
Windows Server 2003 SP2 x64

Windows Server 2003 SP2 x86
Windows XP 4012598
5.1.2600.7208
Windows XP SP2 x64

Windows XP SP3 x86

Windows XP Embedded SP3 x86
Windows Vista SP2 4012598
GDR:6.0.6002.19743
LDR:6.0.6002.24067
Windows Vista Service Pack 2

Windows Vista x64 Edition Service Pack 2
Windows Server 2008 SP2 4012598
GDR:6.0.6002.19743
LDR:6.0.6002.24067
Windows Server 2008 for 32-bit Systems Service Pack 2

Windows Server 2008 for x64-based Systems Service Pack 2

Windows Server 2008 for Itanium ベースのシステム Service Pack 2
Windows 8 4012598
6.2.9200.22099
Windows 8 x86Windows 8 x64

 

表 3: 修正プログラムを含むその他の更新プログラム。

Windows 8.1 and Windows Server 2012 R2

リリース日 文書番号 サポート ページ
2017 年 3 月 21 日 4012219 2017 年 3 月 21 日—KB4012218 (月例ロールアップのプレビュー)
2017 年 4 月 19 日水曜日 4015553 2017 年 4 月 18 日—KB4015553 (月例ロールアップのプレビュー)
2017 年 5 月 16 日 4019217 2017 年 5 月 16 日—KB4019217 (月例ロールアップのプレビュー)
2017 年 6 月 28 日 4022720 2017 年 6 月 28 日 - KB4022720 (マンスリー ロールアップのプレビュー)

Windows Server 2012

リリース日 文書番号 サポート ページ
2017 年 3 月 21 日 4012220 2017 年 3 月 21 日—KB4012220 (月例ロールアップのプレビュー)
2017 年 4 月 19 日水曜日 4015554 2017 年 4 月 18 日—KB4015554 (月例ロールアップのプレビュー)
2017 年 5 月 16 日 4019218 2017 年 5 月 16 日—KB4019218 (月例ロールアップのプレビュー)
2017 年 6 月 28 日 4022721 2017 年 6 月 28 日 - KB4022721 (マンスリー ロールアップのプレビュー)

Windows 7 SP1 および Windows Server 2008 R2 SP1

リリース日 文書番号 サポート ページ
2017 年 3 月 21 日 4012218 2017 年 3 月 21 日—KB4012218 (月例ロールアップのプレビュー)
2017 年 4 月 19 日水曜日 4015552 2017 年 4 月 18 日—KB4015552 (月例ロールアップのプレビュー)
2017 年 5 月 16 日 4019265 2017 年 5 月 16 日—KB4019265 (月例ロールアップのプレビュー)
2017 年 6 月 28 日 4022168 2017 年 6 月 28 日 - KB4022168 (マンスリー ロールアップのプレビュー)

方法 2: %systemroot%\system32\drivers\srv.sys ファイル のバージョンで確認する

次のグラフを使用して、%systemroot%\system32\drivers\srv.sys のファイル バージョンをチェックします。 ファイル バージョンが一覧表示されているバージョンと同じかそれ以上である場合、MS17-010 がインストールされます。

Windows のバージョン 必須の更新された Srv.sys バージョン
Windows XP 5.1.2600.7208
Windows Server 2003 SP2 5.2.3790.6021
Windows Vista
Windows Server 2008 SP2
GDR:6.0.6002.19743、LDR:6.0.6002.24067
Windows 7
Windows Server 2008 R2
6.1.7601.23689
Windows 8
Windows Server 2012
6.2.9200.22099
Windows 8.1
Windows Server 2012 R2
6.3.9600.18604
Windows 10 TH1 v1507 10.0.10240.17319
Windows 10 TH2 v1511 10.0.10586.839
Windows 10 RS1 v1607
Windows Server 2016
10.0.14393.953

方法 3: WMI とWindows PowerShellで確認する

WMI および Windows PowerShell を使用して、MS17-010 修正プログラムがインストールされているかどうかを判断します。

WMI コマンド

特定の KB 番号を検索するには、管理者としてコマンド プロンプト ウィンドウを開き、次のコマンドを実行します。


wmic qfe get hotfixid | find "KB1234567"

  • このコマンドでは、<KB1234567> を実際の KB 番号に置き換えます。

  • 複数の更新プログラムを検索するには、アンパサンド文字 (&) を使用します。 たとえば、以下のコマンドを実行します。

    wmic qfe get hotfixid | find "KB4012212" & wmic qfe get hotfixid | find "KB4012215" & wmic qfe get hotfixid | find "KB4015549"

PowerShell コマンド

ローカル システムでチェックするには、次の管理用 PowerShell cmdlet を使用します。


 get-hotfix -id KB1234567

  • このコマンドでは、<KB1234567> を実際の KB 番号に置き換えます。

  • 複数の更新プログラムを検索するには、カンマ ( , ) を使用します。 たとえば、以下のコマンドを実行します。

    get-hotfix -id KB4012212,KB4012215,KB4015549

Active Directory ドメインまたは OU のすべてのコンピューターをチェックするには、ドメイン コントローラーで次の管理用 PowerShell cmdlet を実行します。


foreach ( $n in (get-adcomputer -searchbase ‘OU=workstations,dc=contoso,dc=com’ -filter * -property * | select name )) {get-hotfix -computername $n.name -id KB1234567}

注:「OU=workstations,dc=contoso,dc=com」部分は Active Directory ドメイン ディレクトリ パーティションのルートをポイントするように変更できます。たとえば、「dc=contoso,dc=com」と変更すると、ドメイン全体でコンピューターを検索します。 このコマンドでは、<KB1234567> を実際の KB 番号に置き換えます。

「適用できません」というインストール エラーの解決方法

必要条件の修正プログラムがコンピューターにインストールされている場合、Windows 8.1 または Windows Server 2012 R2 に MS17-010 をインストールすると、次のエラー メッセージが表示される場合があります。

この更新プログラムはお使いのコンピュータには適用できません。

この問題を解決するには、次の手順を実行します。

  1. 適切な更新プログラムをインストールしていることを確認します。 これを行うには、方法 1 の表 1 で KB 番号をチェックします。 お使いのシステムのバージョン、システムのサービス パック レベル、システムのビット レベル (x64、IA64、または x86) と比較します。
     

  2. 依存関係の不備をチェックします。 Windows 8.1 および Windows Server 2012 R2 の場合、次の記事に従って、必要に応じて依存する修正プログラムをインストールします。

    • KB 2919355: Windows RT 8.1、Windows 8.1、Windows Server 2012 R2 更新プログラム: 2014 年 4 月
    • KB 2919442: 2014 年 3 月 Windows 8.1 および Windows Server 2012 R2 のサービス スタック更新プログラム
    • KB 3173424: Windows 8.1 および Windows Server 2012 R2 のサービス スタック更新プログラム: 2016 年 7 月 12 日
  3. ロールアップ更新プログラムをインストールできない場合、別のロールアップ バージョンをお試しください。 利用可能な更新プログラムについては、表 1 を参照してください。
     

PowerShell スクリプト

次の Windows PowerShell スクリプトでは、ローカル コンピューター上の Srv.sys バージョンと方法 2 の表に記載されているバージョンが比較されます。

このスクリプトを .ps1 ファイルに保存し、PowerShell からスクリプトを実行してください。 このスクリプトは Windows XP と Windows Server 2003 以降のバージョンに適用されます。 Windows PowerShell 2.0 以降のバージョンが必要です。
 


[reflection.assembly]::LoadWithPartialName("System.Version")
$os = Get-WmiObject -class Win32_OperatingSystem
$osName = $os.Caption
$s = "%systemroot%\system32\drivers\srv.sys"
$v = [System.Environment]::ExpandEnvironmentVariables($s)
If (Test-Path "$v")
    {
    Try
        {
        $versionInfo = (Get-Item $v).VersionInfo
        $versionString = "$($versionInfo.FileMajorPart).$($versionInfo.FileMinorPart).$($versionInfo.FileBuildPart).$($versionInfo.FilePrivatePart)"
        $fileVersion = New-Object System.Version($versionString)
        }
    Catch
        {
        Write-Host "Unable to retrieve file version info, please verify vulnerability state manually." -ForegroundColor Yellow
        Return
        }
    }
Else
    {
    Write-Host "Srv.sys does not exist, please verify vulnerability state manually." -ForegroundColor Yellow
    Return
    }
if ($osName.Contains("Vista") -or ($osName.Contains("2008") -and -not $osName.Contains("R2")))
    {
    if ($versionString.Split('.')[3][0] -eq "1")
        {
        $currentOS = "$osName GDR"
        $expectedVersion = New-Object System.Version("6.0.6002.19743")
        } 
    elseif ($versionString.Split('.')[3][0] -eq "2")
        {
        $currentOS = "$osName LDR"
        $expectedVersion = New-Object System.Version("6.0.6002.24067")
        }
    else
        {
        $currentOS = "$osName"
        $expectedVersion = New-Object System.Version("9.9.9999.99999")
        }
    }
elseif ($osName.Contains("Windows 7") -or ($osName.Contains("2008 R2")))
    {
    $currentOS = "$osName LDR"
    $expectedVersion = New-Object System.Version("6.1.7601.23689")
    }
elseif ($osName.Contains("Windows 8.1") -or $osName.Contains("2012 R2"))
    {
    $currentOS = "$osName LDR"
    $expectedVersion = New-Object System.Version("6.3.9600.18604")
    }
elseif ($osName.Contains("Windows 8") -or $osName.Contains("2012"))
    {
    $currentOS = "$osName LDR"
    $expectedVersion = New-Object System.Version("6.2.9200.22099")
    }
elseif ($osName.Contains("Windows 10"))
    {
    if ($os.BuildNumber -eq "10240")
        {
        $currentOS = "$osName TH1"
        $expectedVersion = New-Object System.Version("10.0.10240.17319")
        }
    elseif ($os.BuildNumber -eq "10586")
        {
        $currentOS = "$osName TH2"
        $expectedVersion = New-Object System.Version("10.0.10586.839")
        }
    elseif ($os.BuildNumber -eq "14393")
        {
        $currentOS = "$($osName) RS1"
        $expectedVersion = New-Object System.Version("10.0.14393.953")
        }
    elseif ($os.BuildNumber -eq "15063")
        {
        $currentOS = "$osName RS2"
        "No need to Patch. RS2 is released as patched. "
        return
        }
    }
elseif ($osName.Contains("2016"))
    {
    $currentOS = "$osName"
    $expectedVersion = New-Object System.Version("10.0.14393.953")
    }
elseif ($osName.Contains("Windows XP"))
    {
    $currentOS = "$osName"
    $expectedVersion = New-Object System.Version("5.1.2600.7208")
    }
elseif ($osName.Contains("Server 2003"))
    {
    $currentOS = "$osName"
    $expectedVersion = New-Object System.Version("5.2.3790.6021")
    }
else
    {
    Write-Host "Unable to determine OS applicability, please verify vulnerability state manually." -ForegroundColor Yellow
    $currentOS = "$osName"
    $expectedVersion = New-Object System.Version("9.9.9999.99999")
    }
Write-Host "`n`nCurrent OS: $currentOS (Build Number $($os.BuildNumber))" -ForegroundColor Cyan
Write-Host "`nExpected Version of srv.sys: $($expectedVersion.ToString())" -ForegroundColor Cyan
Write-Host "`nActual Version of srv.sys: $($fileVersion.ToString())" -ForegroundColor Cyan
If ($($fileVersion.CompareTo($expectedVersion)) -lt 0)
    {
    Write-Host "`n`n"
    Write-Host "System is NOT Patched" -ForegroundColor Red
    }
Else
    {
    Write-Host "`n`n"
    Write-Host "System is Patched" -ForegroundColor Green
    }
#

参考資料

WannaCrypt 攻撃に対するカスタマー ガイダンス

Malware Protection Center

Microsoft Malware Protection Center のブログ

セキュリティ更新プログラム MS17-010

MS17-010 に関連するコンプライアンスのレポートのための Configuration Manager SQL Server クエリ

この資料は、以下の製品に適用されます。

 

  • Windows Server 2016
  • Windows 10 バージョン 1607
  • Windows 10 バージョン 1511
  • Windows 10 Version 1507
  • Windows Server 2012 R2
  • Windows 8.1
  • Windows Server 2012
  • Windows 8
  • Windows Server 2008 R2
  • Windows 7
  • Windows Server 2008 Service Pack 2
  • Windows Vista
  • Windows Server 2003 Service Pack 2
  • Windows XP