Проверка установки MS17-010

Уведомление

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

Сводка

Ознакомьтесь с продуктами, к которым относится эта статья.

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

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

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

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

Версии Windows Обновление только для системы безопасности за март (14.03.17) Ежемесячный накопительный пакет за март
(3/14/17)
Предварительная версия ежемесячного накопительного пакета за март
(3/21/17)
Апрель безопасности
Только обновление
(4/11/17)
Ежемесячный накопительный пакет за апрель
(4/11/17)
Предварительная версия ежемесячного накопительного пакета за апрель
(4/18/17)
Обновление только для системы безопасности за май
(5/09/17)
Ежемесячный накопительный пакет за май
(5/09/17)
Ссылка для загрузки
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
Журнал обновлений Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 R2 с пакетом обновления 1 (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 и 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 версии 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 Server 2016 версии Windows 10 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 г.

Версии Windows Предварительная версия ежемесячного накопительного пакета за май
(5/16/17)
Обновление только для системы безопасности за июнь
(6/13/17)
Ежемесячный накопительный пакет за июнь
(6/13/17)
Ссылка для загрузки
Windows 7 и Server 2008 R2 4019265
6.1.7601.23762
4022722 4022168
6.1.7601.23762
Журнал обновлений Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 R2 с пакетом обновления 1 (SP1)
Windows Server 2012 4019218
6.2.9200.22137
4022718 4022724
6.2.9200.22137
Журнал обновлений Windows Server 2012
Windows 8.1 и Windows Server 2012 R2 4019217
6.3.9600.18655
4022717 4022720
6.3.9600.18688
Журнал обновлений Windows 8.1 и Windows Server 2012 R2
Windows 10 версии 1507 - - 4032695 Журнал обновлений Windows 10
Windows 10 версии 1511 - - 4032693 Журнал обновлений Windows 10
Windows 10 версии 1607 и Windows Server 2016 - - 4022723
10.0.14393.1198
Журнал обновлений Windows 10 и Windows Server 2016

 

Таблица 2. Другие версии Windows. Используйте 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 x64 Edition с пакетом обновления 2 (SP2)
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-разрядных систем с пакетом обновления 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 версии 1507 10.0.10240.17319
Windows 10 TH2 версии 1511 10.0.10586.839
Windows 10 RS1 версии 1607
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 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

Центр защиты от вредоносных программ

блог Центр Майкрософт по защите от вредоносных программ

Обновление для системы безопасности MS17-010

Configuration Manager SQL Server запросов для отчетов о соответствии требованиям, связанных с MS17-010

Эта статья относится к:

 

  • 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