我有七个 Server 2019 系统,它们没有连接到互联网或 MECM 或 WSUS。到目前为止,我一直在使用我发现的 WSUS 脱机工具修补它们,该工具可以下载更新并将其压缩。运行该工具的可执行文件,它会检查您的系统以查看您需要的内容并进行安装。它适用于每月的 Windows 补丁。它不适用于 dotNet Framework 或 Windows Defender。
为了尝试修补 dotNet,我接下来做的是前往下载 .NET Framework | 免费官方下载并下载“NDP48-x86-x64-AllOS-ENU.exe”。我将其发送到服务器。首先,我卸载当前版本:
# Uninstall:
NDP481-x86-x64-AllOS-ENU.exe /passive /uninstall
卸载成功完成。
然后我尝试安装修补后的版本。我首先尝试:
# Install:
NDP481-x86-x64-AllOS-ENU.exe /passive /promptrestart
这不起作用,因此我移除了开关并尝试了这个:
NDP481-x86-x64-AllOS-ENU.exe /log .\dotnet.log
我转到日志文件(碰巧是一个 html 文件)。日志文件说找不到特定 CAB 文件的对象或属性。但您可以在下一个屏幕截图中看到 CAB 文件在那里:
接下来,我转到 dot net log file 提到的那个 CBS.log 文件(CBS 日志文件超过 101K 行)。在该 CBS.log 文件中,它看到该 CAB 文件并从中提取文件:
然后它会遍历许多这样的行,唯一的区别是这个突出显示的部分。但它是原始错误中指定的 KB 编号。 我知道屏幕截图被截断了。这是完整的行:
Plan: Package: Package_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Update: 4486153-1679_neutral_PACKAGE, current: Installed, pending: Default, start: Installed, applicable: Installed, targeted: Superseded, limit: Installed, selected: Default
在以“Plan:”开头的每一行之后,都有一堆“Appl:”行:
这个过程持续了大约 20 次。但到了这一步,它却找不到父包:
2024-12-05 07:27:56, Info CBS Plan: Package: Package_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Update: 4486153-1685_neutral_PACKAGE, current: Installed, pending: Default, start: Installed, applicable: Installed, targeted: Superseded, limit: Installed, selected: Default
2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-Client-Features-WOW64-Package0017~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present
2024-12-05 07:27:56, Info CBS Appl: detectParent: no parent found, go absent
2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-ServerCore-SKU-Foundation-WOW64-onecore-Package~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present
2024-12-05 07:27:56, Info CBS Appl: detectParent: parent found: Microsoft-Windows-ServerCore-SKU-Foundation-WOW64-onecore-Package~31bf3856ad364e35~amd64~~10.0.17763.1, state: Installed
2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-CloudEdition~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present
2024-12-05 07:27:56, Info CBS Appl: detectParent: no parent found, go absent
2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-CloudNEdition~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present
2024-12-05 07:27:56, Info CBS Appl: detectParent: no parent found, go absent
2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-CoreCountrySpecificEdition~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present
2024-12-05 07:27:56, Info CBS Appl: detectParent: no parent found, go absent
2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-CoreEdition~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present
2024-12-05 07:27:56, Info CBS Appl: detectParent: no parent found, go absent
2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-CoreNEdition~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present
之后,我陷入了更多的困境。我不知道它在哪里寻找这些文件,所以我无法验证它或深入研究那个特定的文件问题。
我已多次重启系统。
编辑:我相信我使用的是正确版本的 dot Net Framework 进行修补。除了修补安全漏洞/CVE 之外,我无意或打算更改版本。
我用它来检查版本:
> Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match '^(?!S)\p{L}'} | Sort-Object -Property Version | Select PSChildName, version
PSChildName Version
----------- -------
v2.0.50727 2.0.50727.4927
v3.0 3.0.30729.4926
Windows Communication Foundation 3.0.4506.4926
Windows Presentation Foundation 3.0.6920.4902
v3.5 3.5.30729.4926
Client 4.0.0.0
Client 4.8.03761
Full 4.8.03761
> (Get-ItemProperty "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release
528049
> (C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe -version)[4]
4.8.3761.0
在我看来,我应该尝试使用 4.8 版本进行修补。但如果我错了,请指正。
如果有人能提供任何建议或帮助,我们将不胜感激。
版本 528049 已安装 .NET 4.8。您需要下载并安装 2024 年 12 月累积更新 KB5046265。
https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies
https://learn.microsoft.com/en-us/dotnet/framework/release-notes/2024/11-12-november-security-and-quality-rollup
https://support.microsoft.com/en-us/topic/november-12-2024-kb5046265-cumulative-update-for-net-framework-3-5-and-4-8-for-windows-server- 2022-738751c7-84fb-49f0-9c02-11e29b629b81