Как проверить, установлено ли исправление MS17-010


Уведомление


Эта статья базы знаний Майкрософт представлена в исходном виде и не является заменой для более актуальных данных, предоставляемых по обычным каналам обновления. Актуальные данные, датированные более поздним числом, чем указанные здесь данные, приведены в Руководстве по обновлению системы безопасности и других вспомогательных материалах.

Аннотация


 
См. продукты, к которым относятся сведения из данной статьи.
 
Обновление для системы безопасности MS17-010 устраняет несколько уязвимостей в Windows Server Message Block (SMB) версии 1. Одну из них использует программа-шантажист WannaCrypt. Без обновления MS17-010 компьютеры подвергаются повышенному риску со стороны разнообразных вредоносных программ. В этой статье описано несколько быстрых способов, позволяющих определить наличие обновления на компьютере.
 
 

Способ 1. Проверка по номеру базы знаний

Проверьте наличие обновлений, указанных в приведенной ниже таблице (кроме помеченных как «Не содержит исправление MS17-010»). Если любое из них установлено, значит установлено и обновление MS17-010.

Таблица 1 из 2: Windows 7 с пакетом обновления 1 (SP1) или более поздней версии. Указанное исправление содержат следующие накопительные пакеты обновления из базы знаний (кроме столбца «Только безопасность за апрель, 4B»). Под каждым номером базы знаний указан номер версии обновленного Srv.sys.

Версии Windows
Только обновление безопасности за март (14.03.17)
Ежемесячный накопительный пакет за март
(14.03.2017)
Предварительная версия ежемесячного накопительного пакета за март
(21.03.17)
Только обновление безопасности
за апрель
(11.04.2017)
Ежемесячный накопительный пакет за апрель
(11.04.2017)
Предварительная версия ежемесячного накопительного пакета за апрель
(18.04.2017)
Только обновление безопасности за май
(09.05.2017)
Ежемесячный накопительный пакет за май
(09.05.2017)
Ссылка для скачивания

Windows 7 с пакетом обновления 1 (SP1) и  Windows Server 2008 R2 с пакетом обновления 1 (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

https://support.microsoft.com/ru-ru/help/4009469

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

https://support.microsoft.com/ru-ru/help/4009471

Windows 8.1 и 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

https://support.microsoft.com/ru-ru/help/4009470

Windows 10 версии 1507

4012606
10.0.10240.17319

4016637
10.0.10240.17319

-

-

4015221
10.0.10240.17319

-

-

4019474 10.0.10240.17394

https://support.microsoft.com/ru-ru/help/4000823

Windows 10 версии 1511  

4013198
10.0.10586.839

4016636
10.0.10586.839

-

-

4015219
10.0.10586.839

-

-

4019473
10.0.10586.916

https://support.microsoft.com/ru-ru/help/4000824

Windows 10 версии Windows Server 2016

4013429
10.0.14393.953

4016635
10.0.14393.953

-

-

4015217
10.0.14393.953

-

-

4019472
10.0.14393.1198

https://support.microsoft.com/ru-ru/help/4000825

 

Таблица 2 из 2: продолжение для обновлений за май и июнь 2017 г.

Версии Windows
Предварительная версия ежемесячного накопительного пакета за май

(16.05.2017)

Только обновление безопасности за июнь

(13.06.2017)

Ежемесячный накопительный пакет за июнь

(13.06.2017)

Ссылка для скачивания
Windows 7 и Server 2008 R2

4019265
6.1.7601.23762

 

4022722

4022168
6.1.7601.23762

https://support.microsoft.com/ru-ru/help/4009469
Windows Server 2012

4019218
6.2.9200.22137

4022718

4022724
6.2.9200.22137

https://support.microsoft.com/ru-ru/help/4009471
Windows 8.1 и Windows Server 2012 R2

4019217
6.3.9600.18655

4022717

4022720
6.3.9600.18688

https://support.microsoft.com/ru-ru/help/4009470
Windows 10 версии 1507

-

-

4032695

https://support.microsoft.com/ru-ru/help/4000823
Windows 10 версии 1511

-

-

4032693

https://support.microsoft.com/ru-ru/help/4000824
Windows 10 версии 1607 и Windows Server 2016

-

-

4022723
10.0.14393.1198

https://support.microsoft.com/ru-ru/help/4000825

 

Таблица 2. Другие версии Windows. Использование KB 4012598 в качестве обновления для системы безопасности.

Версии Windows
Номер статьи базы знаний и
обновленная версия Srv.sys
Ссылка для скачивания
Windows Server 2003 с пакетом обновления 2 (SP2)

4012598
5.2.3790.6021

Windows Server 2003 с пакетом обновления 2 (SP2) x64

Windows Server 2003 с пакетом обновления 2 (SP2) x86

Windows XP

4012598
5.1.2600.7208

Windows XP с пакетом обновления 2 (SP2) x64

Windows XP с пакетом обновления 3 (SP3) x86


Windows XP Embedded с пакетом обновления 3 (SP3) x86

Windows Vista с пакетом обновления 2 (SP2)

4012598
GDR:6.0.6002.19743

LDR:6.0.6002.24067

Windows Vista с пакетом обновления 2 (SP2)

Windows Vista с пакетом обновления 2 (SP2) x64

Windows Server 2008 с пакетом обновления 2 (SP2)

4012598
GDR:6.0.6002.19743

LDR:6.0.6002.24067

Windows Server 2008 для 32-разрядных систем с пакетом обновления 2 (SP2)

Windows Server 2008 для 64-разрядных (x64) систем с пакетом обновления 2 (SP2)


Windows Server 2008 для систем Itanium с пакетом обновления 2 (SP2)

Windows 8

4012598
6.2.9200.22099

Windows 8 x86, Windows 8 x64

 

Таблица 3. Дополнительные обновления, содержащие исправление.

Windows 8.1 и Windows Server 2012 R2

Дата выпуска

Номер статьи базы знаний

Страница поддержки

21 марта 2017 г.

4012219

21 марта 2017 г. — KB4012218 (предварительная версия ежемесячного накопительного пакета)

18 апреля 2017 г.

4015553

18 апреля 2017 г. — KB4015553 (предварительная версия ежемесячного накопительного пакета)

16 мая 2017 г.

4019217

16 мая 2017 г. — KB4019217 (предварительная версия ежемесячного накопительного пакета)

27 июня 2017 г. 4022720 27 июня 2017 г. — KB4022720 (предварительная версия ежемесячного накопительного пакета)
 
Windows Server 2012

Дата выпуска

Номер статьи базы знаний

Страница поддержки

21 марта 2017 г.

4012220

21 марта 2017 г. — KB4012220 (предварительная версия ежемесячного накопительного пакета)

18 апреля 2017 г.

4015554

18 апреля 2017 г. — KB4015554 (предварительная версия ежемесячного накопительного пакета)

16 мая 2017 г.

4019218

16 мая 2017 г. — KB4019218 (предварительная версия ежемесячного накопительного пакета)

27 июня 2017 г. 4022721 27 июня 2017 г. — KB4022721 (предварительная версия ежемесячного накопительного пакета)
 
Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 R2 с пакетом обновления 1 (SP1)

Дата выпуска

Номер статьи базы знаний

Страница поддержки

21 марта 2017 г.

4012218

21 марта 2017 г. — KB4012218 (предварительная версия ежемесячного накопительного пакета)

18 апреля 2017 г.

4015552

18 апреля 2017 г. — KB4015552 (предварительная версия ежемесячного накопительного пакета)

16 мая 2017 г.

4019265

16 мая 2017 г. — KB4019265 (предварительная версия ежемесячного накопительного пакета)

27 июня 2017 г. 4022168 27 июня 2017 г. — 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 с пакетом обновления 2 (SP2)

5.2.3790.6021

Windows Vista
Windows Server 2008 с пакетом обновления 2 (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

Чтобы найти определенный номер базы знаний, откройте окно командной строки с повышенными привилегиями, а затем выполните следующую команду:

wmic qfe get hotfixid | find "KB1234567"

Примечания

  • В этой команде замените <KB1234567> на фактический номер базы знаний.
  • Для поиска нескольких обновлений используйте символ амперсанда (&). Например, выполните следующую команду:

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

Команды PowerShell

Для проверки локальной системы запустите следующий административный командлет PowerShell:

     get-hotfix -id KB1234567

Примечания

  • В этой команде замените <KB1234567> на фактический номер базы знаний.
  • Для поиска нескольких обновлений используйте запятую (,). Например, выполните следующую команду:

    get-hotfix -id KB4012212,KB4012215,KB4015549


Чтобы проверить все компьютеры в домене Active Directory или подразделении, запустите следующий административный командлет PowerShell на контроллере домена:

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> на фактический номер базы знаний.

Как устранить ошибку «обновление неприменимо» при установке


Если на компьютерах отсутствуют необходимые исправления, то при установке MS17-010 в Windows 8.1 или Windows Server 2012 R2 может возникнуть следующая ошибка:
Обновление неприменимо к вашему компьютеру.
Чтобы устранить эту ошибку, выполните следующие действия:
 
  1. Убедитесь, что устанавливается подходящее обновление. Для этого проверьте номер базы знаний из таблицы 1 в описании способа 1. Сравните его со своей версией системы, уровнем пакета обновления и разрядностью системы (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 г.
    • KB 2919442: Обновление стека обслуживания за март 2014 г. для Windows 8.1 и Windows Server 2012 R2
    • KB 3173424: Обновление стека обслуживания для Windows 8.1 и Windows Server 2012 R2: 12 июля 2016 г.
  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 CyanWrite-Host "`nExpected Version of srv.sys: $($expectedVersion.ToString())" -ForegroundColor CyanWrite-Host "`nActual Version of srv.sys: $($fileVersion.ToString())" -ForegroundColor CyanIf ($($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    }#

Данная статья также применима к:


 

  • Windows Server 2016
  • Windows 10 версии 1607
  • Windows 10 версии 1511
  • Windows 10 версии 1507
  • Windows Server 2012 R2
  • Windows 8.1
  • Windows Server 2012
  • Windows 8
  • Windows Server 2008 R2
  • Windows 7
  • Windows Server 2008 с пакетом обновления 2 (SP2)
  • Windows Vista
  • Windows Server 2003 с пакетом обновления 2 (SP2)
  • Windows XP