Поделиться через


Ошибка при попытке подключиться к виртуальной машине Windows по протоколу RDP в Azure: исправление oracle для шифрования CredSSP

Область применения: ✔️ Виртуальные машины Windows

Исходный номер базы знаний: 4295591

В этой статье предоставляется решение ошибки «Исправление CredSSP-шифрования Oracle», приводящей к сбою подключения к виртуальной машине с использованием протокола удаленного рабочего стола.

Примечание.

Статья была полезной? Ваши входные данные важны для нас. Нажмите кнопку "Отзывы" на этой странице, чтобы сообщить нам, насколько хорошо эта статья работала для вас или как мы можем улучшить ее.

Симптомы

Рассмотрим следующий сценарий:

  • Обновления CredSSP для CVE-2018-0886 применяются к виртуальной машине Windows (удаленный сервер) в Microsoft Azure или на локальном клиенте.
  • Вы пытаетесь создать подключение удаленного рабочего стола (RDP) к серверу из локального клиента.

В этом сценарии вы получите следующее сообщение об ошибке:

Произошла ошибка проверки подлинности. Указанная функция не поддерживается. Удаленный компьютер: <имя компьютера или IP-адрес>. Это может произойти из-за исправления CredSSP-шифрования Oracle. Дополнительные сведения см. в разделе https://go.microsoft.com/fwlink/?linkid=866660.

Как проверить наличие обновления CredSSP

Проверьте журнал обновлений для следующих обновлений или проверьте версию TSpkg.dll, расположенной по адресу%systemroot%\system32.

Операционная система Версия TSpkg.dll с обновлением CredSSP Обновление CredSSP
Windows 7 и Windows Server 2008 R2 с пакетом обновления 1 (SP1) 6.1.7601.24117 KB4103718 (ежемесячный пакет)
KB4103712 (только обновление безопасности)
Windows Server 2012 6.2.9200.22432 KB4103730 (ежемесячный пакет)
KB4103726 (только обновление безопасности)
Windows 8,1 или Windows Server 2012 R2 6.3.9600.18999 KB4103725 (ежемесячный пакет)
KB4103715 (только обновление безопасности)
RS1 - Windows 10 версии 1607 и Windows Server 2016 10.0.14393.2248 KB4103723
RS2 - Windows 10 версии 1703 10.0.15063.1088 KB4103731
RS3 - Windows 10 версии 1709 10.0.16299.431 KB4103727

Причина

Эта ошибка возникает при попытке установить небезопасное подключение к удаленному рабочему столу, и это небезопасное подключение блокируется настройкой политики Исправление шифрования Oracle на сервере или в клиенте. Этот параметр определяет способ построения сеанса удаленного рабочего стола с помощью CredSSP, а также возможность использования небезопасного протокола удаленного рабочего стола.

В следующей таблице приведены сведения о поведении подключения RDP на основе состояния обновления CredSSP и параметра политики CredSSP (значение AllowEncryptionOracle ):

Состояние обновления CredSSP сервера Состояние обновления Клиента CredSSP Принудительное обновление клиентов (0) Устранено (1) Уязвимые (2)
Установлено No Блокировка Разрешить1 Разрешить
No Установлено Блок2 Блокировка Разрешить
Установлено Установлено Разрешить Разрешить Разрешить

Примеры

1 Сервер установлен с установленным обновлением CredSSP, а исправление Oracle шифрования — исправление на стороне сервера. Сервер будет аккумирует подключение RDP от клиентов, не имеющих установленного обновления CredSSP.

2 Клиент установлен с установленным обновлением CredSSP, а исправление Oracle для шифрования — принудительно обновлять клиенты или устранять их на стороне клиента. Этот клиент не сможет подключиться к серверу, на котором не установлено обновление CredSSP.

Решение

Чтобы устранить проблему, установите обновления CredSSP как для клиента, так и для сервера, чтобы обеспечить возможность безопасного подключения к удаленному рабочему столу. Дополнительные сведения см. в разделе CVE-2018-0886 | CredSSP Remote Code Execution Vulnerability (Уязвимость удаленного выполнения кода в CredSSP).

Установка обновления с помощью серийной консоли Azure

  1. Войдите на портал Azure, выберите пункт Виртуальная машина, а затем выберите виртуальную машину.

  2. Прокрутите вниз до раздела справки и нажмите кнопку "Последовательная консоль". Для использования серийной консоли требуется включить специальную консоль администрирования (SAC) в виртуальной машине Windows. Если вы не видите SAC> в консоли (как показано на следующем снимке экрана), перейдите в раздел "Как установить это обновление с помощью Удаленного powerShell" в этой статье.

    Снимок экрана с подключенной специальной консолью администрирования.

  3. Введите cmd, чтобы запустить канал, имеющий экземпляр CMD.

  4. Для переключения на канал, который работает с экземпляром CMD, введите ch -si 1. Появится следующее сообщение:

    Снимок экрана запуска CMD в специальной консоли администрирования.

  5. Нажмите клавишу Ввод, а затем введите учетные данные для входа, имеющие разрешение администратора.

  6. После ввода корректных учетных данных откроется экземпляр CMD, и вы увидите команду, в которой можно начать поиск и устранение неполадок.

    Снимок экрана раздела CMD в специальной консоли администрирования.

  7. Введите PowerShell, чтобы запустить экземпляр PowerShell.

  8. В экземпляре PowerShell запустите сценарий серийной консоли на основе операционной системы виртуальной машины. Сценарий выполнит указанные ниже действия.

    • Создайте папку, в которой будет сохранен файл загрузки.
    • Загрузите обновление.
    • Установите обновление.
    • Добавьте ключ уязвимости, чтобы клиенты без обновлений могли подключаться к виртуальной машине.
    • Перезапустите виртуальную машину.

Установка обновления с помощью удаленной оболочки PowerShell

  1. На любом компьютере с Windows, на котором установлена оболочка PowerShell, добавьте IP-адрес виртуальной машины в список «Надежные» в файле узла, выполнив следующие шаги:

    Set-item wsman:\localhost\Client\TrustedHosts -value <IP>
    
  2. На портале Azure настройте Группы безопасности сети на виртуальной машине, чтобы разрешить трафик на порт 5986.

  3. В портал Azure выберите >, прокрутите вниз до <, щелкните команду "Выполнить", а затем запустите >

  4. На компьютере под управлением Windows запустите сценарий удаленной оболочки PowerShell для соответствующей версии системы виртуальной машины. Сценарий выполнит указанные ниже действия.

    • Подключитесь к удаленной оболочке PowerShell на виртуальной машине.
    • Создайте папку, в которой будет сохранен файл загрузки.
    • Загрузите обновление Credssp.
    • Установите обновление.
    • Установите ключ уязвимости в реестр, чтобы позволить необновленным клиентам подключаться к виртуальной машине.
    • Включите серийную консоль для будущего упрощения.
    • Перезапустите виртуальную машину.

Обходное решение

Предупреждение

После изменения следующего параметра будет разрешено небезопасное подключение, которое сделает удаленный сервер уязвимым к атакам. Внимательно выполните действия, описанные в этом разделе. Неправильное изменение реестра может привести к серьезным проблемам. Прежде чем приступить к изменениям, создайте резервную копию реестра для восстановления на случай возникновения проблем.

Сценарий 1. Обновленные клиенты не могут обмениваться данными с необновленными серверами

При наиболее распространенном сценарии у клиента установлено обновление CredSSP, а параметр политики Исправление шифрования Oracle не допускает небезопасные подключения по протоколу удаленного рабочего стола к серверу, на котором не установлено обновление CredSSP.

Чтобы обойти эту проблему, выполните указанные ниже действия.

  1. На клиенте с установленным обновлением CredSSP запустите gpedit.msc, а затем перейдите в Конфигурация компьютера>Административные шаблоны>Системные>Передача учетных данных на панели навигации.

  2. Измените значение политики Исправления шифрования Oracle на Включено, а затем измените Уровень защиты на Уязвимый.

    Если gpedit.msc не удается использовать, то можно внести изменения с помощью реестра следующим образом:

    1. Откройте окно командной строки c правами администратора.

    2. Выполните следующую команду, чтобы добавить значение реестра:

      REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters\ /v AllowEncryptionOracle /t REG_DWORD /d 2
      

Сценарий 2. Необновленные клиенты не могут обмениваться данными с исправленными серверами

Если это обновление установлено на виртуальной машине Azure с Windows, работающей только с необновленными клиентами, выполните следующие действия, чтобы изменить параметр политики исправления CredSSP-шифрования Oracle:

  1. На любом компьютере с Windows, на котором установлена оболочка PowerShell, добавьте IP-адрес виртуальной машины в список «Надежные» в файле узла:

    Set-item wsman:\localhost\Client\TrustedHosts -value <IP>
    
  2. Перейдите на портал Azure, найдите виртуальную машину и обновите группу безопасности сети, чтобы разрешить порты PowerShell 5985 и 5986.

  3. На компьютере с Windows подключитесь к виртуальной машине с помощью PowerShell:

    С помощью HTTP:

    $Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck Enter-PSSession -ComputerName "<<Public IP>>" -port "5985" -Credential (Get-Credential) -SessionOption $Skip
    

    С помощью HTTPS:

    $Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck Enter-PSSession -ComputerName "<<Public IP>>" -port "5986" -Credential (Get-Credential) -useSSL -SessionOption $Skip
    
  4. Выполните следующую команду, чтобы изменить настройки политики Исправления шифрования Oracle с помощью реестра:

    Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters' -name "AllowEncryptionOracle" 2 -Type DWord
    

Сценарии серийной консоли Azure

Версия ОС Скрипт
Windows 7 и Windows Server 2008 R2 с пакетом обновления 1 (SP1) #Создание папки для загрузки
md c:\temp

##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/05/windows6.1-kb4103718-x64_c051268978faef39e21863a95ea2452ecbc0936d.msu"
$destination = "c:\temp\windows6.1-kb4103718-x64_c051268978faef39e21863a95ea2452ecbc0936d.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)

#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows6.1-KB4103718-x64.cab"

#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2

#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f
Windows Server 2012
#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/04/windows8-rt-kb4103730-x64_1f4ed396b8c411df9df1e6755da273525632e210.msu"
$destination = "c:\temp\windows8-rt-kb4103730-x64_1f4ed396b8c411df9df1e6755da273525632e210.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows8-RT-KB4103730-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f

Windows 8,1 или Windows Server 2012 R2
#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/05/windows8.1-kb4103725-x64_cdf9b5a3be2fd4fc69bc23a617402e69004737d9.msu"
$destination = "c:\temp\windows8.1-kb4103725-x64_cdf9b5a3be2fd4fc69bc23a617402e69004737d9.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows8.1-KB4103725-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f

RS1 — Windows 10 версии 1607 и Windows Server 2016
#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/05/windows10.0-kb4103723-x64_2adf2ea2d09b3052d241c40ba55e89741121e07e.msu"
$destination = "c:\temp\windows10.0-kb4103723-x64_2adf2ea2d09b3052d241c40ba55e89741121e07e.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103723-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f

RS2 — Windows 10 версии 1703
#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/c/msdownload/update/software/secu/2018/05/windows10.0-kb4103731-x64_209b6a1aa4080f1da0773d8515ff63b8eca55159.msu"
$destination = "c:\temp\windows10.0-kb4103731-x64_209b6a1aa4080f1da0773d8515ff63b8eca55159.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103731-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f

RS3 — Windows 10 версии 1709 / Windows Server 2016 1709
#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/c/msdownload/update/software/secu/2018/05/windows10.0-kb4103727-x64_c217e7d5e2efdf9ff8446871e509e96fdbb8cb99.msu"
$destination = "c:\temp\windows10.0-kb4103727-x64_c217e7d5e2efdf9ff8446871e509e96fdbb8cb99.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103727-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f

RS4 — Windows 10 1803 / Windows Server 2016 version 1803
#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/c/msdownload/update/software/secu/2018/05/windows10.0-kb4103721-x64_fcc746cd817e212ad32a5606b3db5a3333e030f8.msu"
$destination = "c:\temp\windows10.0-kb4103721-x64_fcc746cd817e212ad32a5606b3db5a3333e030f8.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103721-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f

Сценарии удаленной оболочки PowerShell

Версия ОС Скрипт
Windows 7 и Windows Server 2008 R2 с пакетом обновления 1 (SP1)
#Настройка переменных:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #измените эту переменную при настройке HTTPS в PowerShell на другой порт


#Log в подписке
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Подключение к удаленной оболочке PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/05/windows6.1-kb4103718-x64_c051268978faef39e21863a95ea2452ecbc0936d.msu"
$destination = "c:\temp\windows6.1-kb4103718-x64_c051268978faef39e21863a95ea2452ecbc0936d.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows6.1-KB4103718-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Установка флажков серийной консоли Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f

Windows Server 2012
#Настройка переменных:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #измените эту переменную при настройке HTTPS в PowerShell на другой порт


#Log в подписке
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Подключение к удаленной оболочке PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/04/windows8-rt-kb4103730-x64_1f4ed396b8c411df9df1e6755da273525632e210.msu"
$destination = "c:\temp\windows8-rt-kb4103730-x64_1f4ed396b8c411df9df1e6755da273525632e210.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows8-RT-KB4103730-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Установка флажков серийной консоли Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f

Windows 8,1 или Windows Server 2012 R2
#Настройка переменных:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #измените эту переменную при настройке HTTPS в PowerShell на другой порт


#Log в подписке
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Подключение к удаленной оболочке PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/05/windows8.1-kb4103725-x64_cdf9b5a3be2fd4fc69bc23a617402e69004737d9.msu"
$destination = "c:\temp\windows8.1-kb4103725-x64_cdf9b5a3be2fd4fc69bc23a617402e69004737d9.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows8.1-KB4103725-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Установка флажков серийной консоли Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f

RS1 — Windows 10 версии 1607 и Windows Server 2016
#Настройка переменных:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #измените эту переменную при настройке HTTPS в PowerShell на другой порт


#Log в подписке
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Подключение к удаленной оболочке PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/05/windows10.0-kb4103723-x64_2adf2ea2d09b3052d241c40ba55e89741121e07e.msu"
$destination = "c:\temp\windows10.0-kb4103723-x64_2adf2ea2d09b3052d241c40ba55e89741121e07e.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103723-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Установка флажков серийной консоли Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f

RS2 — Windows 10 версии 1703
#Настройка переменных:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #измените эту переменную при настройке HTTPS в PowerShell на другой порт


#Log в подписке
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Подключение к удаленной оболочке PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/c/msdownload/update/software/secu/2018/05/windows10.0-kb4103731-x64_209b6a1aa4080f1da0773d8515ff63b8eca55159.msu"
$destination = "c:\temp\windows10.0-kb4103731-x64_209b6a1aa4080f1da0773d8515ff63b8eca55159.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103731-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Установка флажков серийной консоли Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f

RS3 — Windows 10 версии 1709 / Windows Server 2016 1709
#Настройка переменных:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #измените эту переменную при настройке HTTPS в PowerShell на другой порт


#Log в подписке
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Подключение к удаленной оболочке PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/c/msdownload/update/software/secu/2018/05/windows10.0-kb4103727-x64_c217e7d5e2efdf9ff8446871e509e96fdbb8cb99.msu"
$destination = "c:\temp\windows10.0-kb4103727-x64_c217e7d5e2efdf9ff8446871e509e96fdbb8cb99.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103727-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Установка флажков серийной консоли Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f

RS4 — Windows 10 1803 / Windows Server 2016 version 1803
#Настройка переменных:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #измените эту переменную при настройке HTTPS в PowerShell на другой порт


#Log в подписке
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Подключение к удаленной оболочке PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Создание папки для загрузки
md c:\temp


##Загрузка файла базы знаний
$source = "http://download.windowsupdate.com/c/msdownload/update/software/secu/2018/05/windows10.0-kb4103721-x64_fcc746cd817e212ad32a5606b3db5a3333e030f8.msu"
$destination = "c:\temp\windows10.0-kb4103721-x64_fcc746cd817e212ad32a5606b3db5a3333e030f8.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Установка базы знаний
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103721-x64.cab"


#Добавление ключа уязвимости для поддержки необновленных клиентов
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Установка флажков серийной консоли Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Перезапуск виртуальной машины для завершения установок/настроек
shutdown /r /t 0 /f