尝试 RDP 到 Azure 中的 Windows VM 时出现错误:CredSSP 加密 oracle 修正
本文针对以下问题提供了解决方案:你无法通过使用 RDP 连接到虚拟机 (VM),并显示 CredSSP 加密 oracle 修正错误。
原始产品版本: 运行 Windows 的虚拟机
原始 KB 编号: 4295591
注意
本文是否有帮助? 你的输入对我们很重要。 请使用此页面上的 “反馈 ”按钮,让我们了解本文对你的影响,或者我们如何改进它。
症状
请考虑以下情况:
- 针对 CVE-2018-0886 的凭据安全支持提供程序协议 (CredSSP) 更新应用于 Microsoft Azure 或本地客户端中的 Windows VM(远程服务器)。
- 你尝试从本地客户端建立到服务器的远程桌面 (RDP) 连接。
在这种情况下,您会收到以下错误消息:
发生了身份验证错误。 不支持请求的函数。 远程计算机: <计算机名称或 IP>。 这可能由 CredSSP 加密 oracle 修正引起的。 有关详细信息,请参阅 https://go.microsoft.com/fwlink/?linkid=866660。
如何验证是否已安装 CredSSP 更新。
检查更新历史记录中是否有以下更新,或检查位于 的 %systemroot%\system32
TSpkg.dll 版本。
操作系统 | 带有 CredSSP 更新的 TSpkg.dll 版本 | CredSSP 更新 |
---|---|---|
Windows 7 Service Pack 1 / Windows Server 2008 R2 Service Pack 1 | 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 |
原因
如果尝试建立不安全的 RDP 连接,并且服务器或客户端上的加密 Oracle 修正策略设置阻止该不安全的 RDP 连接,则会发生此错误。 此设置定义如何使用 CredSSP 生成 RDP 会话,以及是否允许不安全的 RDP。
下表总结了基于 CredSSP 更新状态和 CredSSP 策略设置 (AllowEncryptionOracle 值) RDP 连接的行为:
服务器 CredSSP 更新状态 | 客户端 CredSSP 更新状态 | 强制更新的客户端 (0) | 缓解 (1) | 易受攻击 (2) |
---|---|---|---|---|
已安装 | 否 | 阻止 | 允许1 | 允许 |
否 | 已安装 | 块2 | 阻止 | 允许 |
已安装 | 已安装 | 允许 | 允许 | 允许 |
示例
1 服务器已安装 CredSSP 更新,并在服务器端将 “加密 Oracle 修正 ”设置为 “缓解 ”。 服务器将从未安装 CredSSP 更新的客户端建立 RDP 连接。
2 客户端已安装 CredSSP 更新,并且 加密 Oracle 修正 在客户端设置为 “强制更新的客户端 ”或“ 缓解 ”。 此客户端无法连接到未安装 CredSSP 更新的服务器。
解决方案
要解决此问题,请同时为客户端和服务器安装 CredSSP 更新,以便以安全的方式建立 RDP。 有关详细信息,请参阅 CVE-2018-0886 | CredSSP 远程代码执行漏洞。
如何使用 Azure 串行控制台安装此更新
登录到 Azure 门户,选择“虚拟机”,然后选择 VM。
向下滚动到 “帮助 ”部分,然后单击“ 串行控制台”。 串行控制台需要在 Windows VM 中启用特殊管理控制台 (SAC)。 如果在控制台 (中看不到 SAC> ,如以下屏幕截图) 所示,请转到本文中的“如何使用远程 PowerShell 安装此更新”部分。
键入
cmd
以启动具有 CMD 实例的通道。键入
ch -si 1
以切换到运行 CMD 实例的通道。 你会收到以下输出:按 Enter,然后输入具有管理权限的登录凭据。
输入有效凭据后,CMD 实例将打开,你将看到可在其中开始疑难解答的命令。
要启动 PowerShell 实例,请键入
PowerShell
。在 PowerShell 实例中,运行基于 VM 操作系统的串行控制台脚本。 此脚本将执行以下步骤:
- 创建用于保存下载文件的文件夹。
- 下载更新。
- 安装该更新。
- 添加漏洞密钥以允许未更新的客户端连接到 VM。
- 重新启动 VM
如何使用远程 PowerShell 安装此更新
在任何已安装 PowerShell 的基于 Windows 的计算机上,将 VM 的 IP 地址添加到主机文件的“受信任”列表中,如下所示:
Set-item wsman:\localhost\Client\TrustedHosts -value <IP>
在 Azure 门户中,在 VM 上配置网络安全组以允许流量进入端口 5986。
在Azure 门户中,选择“虚拟机><VM>”,向下滚动到“操作”部分,单击“运行”命令,然后运行 EnableRemotePS。
在基于 Windows 的计算机上,为 VM 的适当系统版本运行远程 PowerShell 脚本。 此脚本会执行以下步骤:
- 连接到 VM 上的远程 PowerShell。
- 创建用于保存下载文件的文件夹。
- 下载 Credssp 更新。
- 安装该更新。
- 设置漏洞注册表项以允许未更新的客户端连接到 VM。
- 启用串行控制台,以便将来更容易缓解。
- 重新启动 VM。
解决方法
警告
更改以下设置后,允许使用不安全的连接,这会将远程服务器暴露在攻击之下。 请仔细遵循本部分中的步骤进行操作。 对注册表修改不当可能会导致严重问题。 修改之前,备份注册表以便在发生问题时进行还原。
情境 1:更新后的客户端无法与未更新的服务器通信
最常见的情境是,客户端安装了 CredSSP 更新,并且加密 Oracle 修正修正策略设置不允许不安全的 RDP 连接到未安装 CredSSP 更新的服务器。
若要解决此问题,请按照下列步骤操作:
在安装了 CredSSP 更新的客户端上,运行 gpedit.msc,然后在导航窗格中浏览到计算机配置>管理模板>系统>凭据分配。
将加密 Oracle 修正策略更改为“启用”,然后将“保护级别”更改为“脆弱”。
如果无法使用 gpedit.msc,则可以使用注册表进行相同的变更,如下所示:
以管理员身份打开命令提示符窗口。
运行以下命令以添加注册表值:
REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters\ /v AllowEncryptionOracle /t REG_DWORD /d 2
情境 2:未更新的客户端无法与已修补的服务器通信
如果 Azure Windows VM 已安装此更新,并且它被限制接收未更新的客户端,请按照以下步骤更改加密 Oracle 修正策略设置:
在任何已安装 PowerShell 的 Windows 计算机上,将 VM 的 IP 添加到主机文件的“受信任”列表中:
Set-item wsman:\localhost\Client\TrustedHosts -value <IP>
转到 Azure 门户,找到 VM,然后更新网络安全组以允许 PowerShell 端口 5985 和 5986。
在 Windows 计算机上,使用 PowerShell 连接到 VM:
对于 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
运行以下命令以使用注册表更改加密 Oracle 修正策略设置:
Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters' -name "AllowEncryptionOracle" 2 -Type DWord
Azure 串行控制台脚本
操作系统版本 | Script |
---|---|
Windows 7 Service Pack 1 / Windows Server 2008 R2 Service Pack 1 | #创建下载位置md c:\temp ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 shutdown /r /t 0 /f |
Windows Server 2012 | #创建下载位置 md c:\temp ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 shutdown /r /t 0 /f |
Windows 8.1 / Windows Server 2012 R2 | #创建下载位置 md c:\temp ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 shutdown /r /t 0 /f |
RS1 - Windows 10 版本 1607 / Windows Server 2016 | #创建下载位置 md c:\temp ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 shutdown /r /t 0 /f |
RS2 - Windows 10 版本 1703 | #创建下载位置 md c:\temp ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 shutdown /r /t 0 /f |
RS3 - Windows 10 版本 1709 / Windows Server 2016 版本 1709 | #创建下载位置 md c:\temp ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 shutdown /r /t 0 /f |
RS4 - Windows 10 1803 / Windows Server 2016 版本 1803 | #创建下载位置 md c:\temp ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 shutdown /r /t 0 /f |
远程 PowerShell 脚本
OS 版本 | Script |
---|---|
Windows 7 Service Pack 1 / Windows Server 2008 R2 Service Pack 1 | #设置变量: $subscriptionID = "<your subscription ID>" $vmname = "<IP of your machine or FQDN>" $PSPort = "5986" #如果你在 PowerShell 上自定义 HTTPS 到另一个端口,请更改此变量#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 ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 shutdown /r /t 0 /f |
Windows Server 2012 | #设置变量: $subscriptionID = "<your subscription ID>" $vmname = "<IP of your machine or FQDN>" $PSPort = "5986" #如果你在 PowerShell 上自定义 HTTPS 到另一个端口,请更改此变量#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 ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 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" #如果你在 PowerShell 上自定义 HTTPS 到另一个端口,请更改此变量#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 ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 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" #如果你在 PowerShell 上自定义 HTTPS 到另一个端口,请更改此变量#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 ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 shutdown /r /t 0 /f |
RS2 - Windows 10 版本 1703 | #设置变量: $subscriptionID = "<your subscription ID>" $vmname = "<IP of your machine or FQDN>" $PSPort = "5986" #如果你在 PowerShell 上自定义 HTTPS 到另一个端口,请更改此变量#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 ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 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" #如果你在 PowerShell 上自定义 HTTPS 到另一个端口,请更改此变量#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 ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 shutdown /r /t 0 /f |
RS4 - Windows 10 1803 / Windows Server 2016 版本 1803 | #设置变量: $subscriptionID = "<your subscription ID>" $vmname = "<IP of your machine or FQDN>" $PSPort = "5986" #如果你在 PowerShell 上自定义 HTTPS 到另一个端口,请更改此变量#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 ##下载 KB 文件 $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) #安装 KB 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 #重启 VM 完成安装/设置 shutdown /r /t 0 /f |
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈