HOWTO: 解决因配置 FolderLocations 引发的软件安装故障
HOWTO: 解决因配置 FolderLocations 引发的软件安装故障
还记得前段时间 gOxiA 分享的一篇日志“HOWTO: 解决 Windows DISM error ID3 0x80070003 故障”,由于在 Windows 安装应答文件(Unattend.xml)中配置了“FolderLocations”来重定向用户目录,导致在离线模式下使用 DISM 配置系统失败。虽然微软官方确认了这是一个已知问题,并且给出了解决方案,但是发现并不能完全解决所有问题,例如当用户在使用 Folerlocations 重定向用户目录的系统环境中安装 AutoCAD 时就会出现故障问题,如下图所示:
可以看到 AutoCAD 安装向导在许可协议界面报错“错误: 1606。无法访问网络位置 Autodesk\AutoCAD 2014\R19.1”。
根据提示搜索了 AutoCAD 官方文档也未获得准确的提示和解决办法,有网友称需要安装什么 Windows 7 补丁,其实根据排错发现引发该问题的主要根源就是因为重定向了用户目录,而 Public 这个用户目录路径未能更新到注册表响应的键值上,而这罪魁祸首还是因为 FolderLocations,Sysprep 虽然能够处理 FolderLocaltions 并成功移动 Users 目录到其他分区,但是却未能更新所有的注册表键值。
要解决这个问题,就需要手工编辑注册表,定位到如下路径,修改其下 Public 的键值,确保路径正确。
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders”
修改完毕后,重新启动安装程序,便可解决故障问题。gOxiA 有幸加入到了 WDG Windows 10 TAP 项目,决心将这个 Bug 提交给产品开发组,希望能彻底解决这个问题。(从排错过程看,FolderLocations 导致的 Bug 可能涉及底层一些东西,因为在 Default 相关配置数据并未存储在注册表中!)
工作组环境下使用 Hyper-V 管理器远程管理 Hyper-V 主机
工作组环境下使用 Hyper-V 管理器远程管理 Hyper-V 主机
参考本文将能协助你轻松地在工作组环境下通过Windows 10 的 Hyper-V 管理器去远程管理 Hyper-V 主机。在之前的系统版本上,我们需要依赖一系列的配置操作,或使用现成的脚本才能才能实现,否则就需要确保客户端和服务器都加入到域环境。
在 Windows Server 2016 环境中,之前的配置方法和脚本都不再有效。还好微软分享了一组系统命令和简单的操作步骤,就能够实现我们的需求。
首先,在 Windows 10 设备上通过“程序和功能”,启用 Hyper-V 管理器(Hyper-V Management Tools),由于 gOxiA 的客户端是英文版,所以具体如下图所示:
然后,在 Hyper-V 主机上执行配置命令行,以便接收 Windows PowerShell 远程命令发送的 WS-Management 指令,同时还要为 WS-Management 配置允许 CredSSP 身份验证。为此,我们需要执行两条命令:
2、 Enable-WSManCredSSP -role server
具体的执行效果可参考下图:
至此,Hyper-V 主机端的配置就算结束了,是不是非常简单便捷!接下来开始配置 Windows 10 客户端,同样需要先使用命令行进行配置。
1、Set-Item WSMan:\localhost\Client\TrusteHosts -Value "Hyper-V Host FQDN"
2、Enable-WSManCredSSP -Role client -DelegateComputer "Hyper-V Host FQDN"
具体操作效果如下图所示:
现在,执行 gpedit.msc 启动组策略管理器,定位至 计算机配置-管理模板-系统-凭据分配,启用“允许分配新的凭据用于仅NTLM服务器身份验证”,同时将“wsman/Hyper-V Host FQDN” 添加到服务器列表中,如下图所示:
至此,配置过程告一段落,无需重新启动客户端和服务器,直接打开 Windows 10 设备上的 Hyper-V 管理器,添加计算机,填写“Hyper-V Host FQDN”,即 Hyper-V 主机的完整计算机名称,根据需要填写用于认证账号和密码,便可以连接到远程 Hyper-V 主机上进行愉快的操控。
通过 WDS 环境应用 Windows Defender Offline - 下
通过 WDS 环境应用 Windows Defender Offline
上一篇文章“通过 WDS 环境应用 Windows Defender Offline - 上”,gOxiA 分享了如何制作 Windows Defender Offline 的 ISO 镜像,而今天这篇将开始我们的主题。在 WDS 环境下应用 Windows Defender Offline(以下简称:WDO),可以极大方便用户使用 WDO,通过企业网络 PXE 引导 WDO,比起 UFD 更安全也更高效。
但是,当我们将 WDO 的启动 WIM 文件添加到 WDS Boot Image,在用户端引导 WDO 后会发现,无法正常执行扫描工作,因为 Virus and spyware definitions: Out of date,即病毒特征库过期。如此,在 WDO 启动的初始化界面实际上是在加载最新的病毒特征库。
为了进行论证对 WDO 的 ISO 进行了分析,发现在 ISO 根目录中有一个名为 mpam-fex64.exe 文件,该文件就是最新的病毒特征库,那么接下来就要搞清楚 WDO 是如何调用这个病毒特征库的,首先要看看 Winpeshl.ini 是否定义了命令行,参考下图,确实调用了 Windows Defender 相关的执行命令,从文件名看是个专为 Offline 编写的命令,而且没有加参数,gOxiA 猜测对 mpam-fex64.exe 的调用是写在内部代码里的。
既然是固化在内部代码中的,就要确定调用特征库的具体路径,以便为后续能在 WDS 中应用 WDO 奠定基础。为此使用了 Sysinternals 工具集中的 Strings 对 OfflineScannerShell.exe 进行了分析,果然不出所料,特征库名称是固定的,但是没能找到定义路径。
重新分析 ISO 文件结构发现 mpam-fex64.exe 存储位置还包含一个 FilesList64.dll,从名字看貌似与遍历有关,难不成 WDO 是通过遍历目录寻找名为 mpam-fex64.exe 的文件,既然已经走到这一步,只能实验出结果,将 WDO 的
WIM 文件通过 DISM 命令 Mount 出来,然后直接将 FileList64.dll 和 mpam-fex64.exe 拷贝到 WDO 的 WIM 映像根目录中,保存更新添加到 WDS 启动映像,找台客户端开机 PXE 引导测试,通过!!!
问题解决,以后只需要手工下载最新版的 mpam-fex64.exe 打包到 WDO 的 WIM 中即可。Windows Defender 的最新特征库可以从下面的官方网站下载到,不要忘记将下载的文件名改为 WDO 定义的名字。
Updating your Microsoft antimalware and antispyware software:
https://www.microsoft.com/security/portal/definitions/adl.aspx