troubleshooting

  

HOWTO: 解决 外部数据库驱动程序 (1) 中的意外错误

  

        前几天遇到一个用户故障,Windows 7 系统运行一个第三方开发的打印小工具,之前运行正常,这几天总是在选择 Excel 文件后报错,导致无法正常打印。具体的报错提示“外部数据库驱动程序(1)中的意外错误”,如下图所示:

  

Snipaste_2017-11-10_13-18-27

  

        将该工具拷贝到我的环境下运行(Windows 10)也一样报错,即使设置兼容性模式也无济于事。用户反馈之前只更新过补丁,没有做过任何系统变更。为了快速定位根因所以先从补丁入手,经过测试基本锁定了三个更新补丁,后来在虚机测试环境下锁定了 KB4041678,并重现了故障。

  

        在 KB4041678 中微软声明了该补丁存在已知问题,会导致基于Microsoft JET 数据库引擎(Microsoft Access 2007 和更低版本或非 Microsoft 应用程序)的应用程序无法创建或打开 Microsoft Excel.xls 文件。错误消息为“外部数据库驱动程序 (1) 中的意外错误。(Microsoft JET 数据库引擎)。

  

        微软提供的临时解决方案是下载并安装 Microsoft Access 数据库引擎 2010 可再发行软件包,然后在 Microsoft Excel 中修改 DB 连接字符串以将 ACE 用作提供程序。示例:将 Provider=Microsoft.Jet.OLEDB.4.0 更改为 Provider=Microsoft.ACE.OLEDB.12.0。

  

        同时微软也正寻求一种解决方案,相信在不久的将来就会提供更新。但是,当下要解决用户问题,只能卸载 KB4041678,因为内网用户通过 WSUS 更新补丁,意味着将会有更多的用户遇到这个问题!是否可以找到被更新的文件做替换来解决这个故障呢?!尝试方法这样展开,先用 Application Verifier 和 WinDBG 去找验证这个应用程序,并截获断点。

  

        结果是,Application Verifier 收集到的日志中,并未发现什么异常,反而在 WinDBG 中发现了断点,如下图所示在载入模块“msexcl40.dll”时出现了问题。检查文件日期确实是10月份有更新过,尝试用正常 Windows 7 环境下的 msexcl40.dll 对故障Windows 7 系统和 Windows 10 系统进行替换,故障解除!

  

Snipaste_2017-11-10_13-28-20

  

        使用 Process Monitor 抓包观察,发现 msexcl40.dll 开始到操作结束出现了一系列的错误,具体可参考下图。

  

Snipaste_2017-11-10_15-06-00

  

Snipaste_2017-11-10_15-05-18

windows-10-fall-creators-update

HOWTO: 解决 Your Organization used Windows Defender Application Control to block this app

        gOxiA 前段时间为手上的 Dell Venue 8 Pro 全新安装 Windows 10 v1709(Fall Creators Update),没想到装完后竟然无法运行 EXE 程序,期间重装系统进行测试无数次(话说现在Windows安装起来实在太轻松了)。本以为是最初安装了 Windows 10 S 版导致的,后来又单独安装 Home、Pro 或者断网执行 OOBE,或者直接从 Home 升级到 Pro,清理组策略,几乎能想到的办法都试过了,可结果都令人失望。

        具体的错误信息如下图,提示“您的组织使用 Windows Defender 应用程序控制限制了该应用”,系统上几乎所有的 EXE 程序都无法正常运行,就像是安装 Windows 10 S 一样。

defender_warning

        最后向微软开了 Case,沟通中提到之前一些硬件需要关闭主板的 Secure Boot,才能正常运行 Windows 10,果然!在禁用 Dell Venue 8 Pro 后,EXE 程序可以启动了。

dell_venue_8_pro_sysinfo

        这款设备是个平板,采用了 Intel Atom Z Series 架构,记得早前就有公告提到过 Windows 10 与 Intel Atom Z3xxx 存在兼容性问题,没想到还真遇到了。虽然通过禁用 Secure Boot 能够运行系统内置的 EXE 命令,但是当安装其他应用软件时也会报 CPU 兼容性限制。

cpu_warning

        作为一款 4年前的 8寸 Windows 平板设备,还能有什么过高的要求呢?!现在倒是很期望微软后续的新型态移动 Windows 设备。

        如果大家跟我一样遇到了因 Windows Defender 限制 EXE 程序运行的问题,不妨尝试关闭 Secure Boot。此外利用固件限制 Windows 运行方式也是一种不错的选择,未来也许对企业非常用价值!

image

        微软已经正式宣布 Windows Phone/Mobile 停止更新并进入维护期,好在提供了 1709 版的更新,OS 版本最终锁定在 10.0.15254.1,这样一些设备如 gOxiA 手中的 Lumia 640 起码能用上拥有 UWP 成熟架构的 Windows 10,一些支持 UWP 的应用可以很好的运行在上面。从目前的测试看,Lumia 640 配合微软的无线显示适配器,还是一个不错的移动办公方案。

        就在这两天微软又针对 Windows 手机设备发布了一款 Over-the-cable Update Tool 软件,可以帮助用户通过线缆将 Windows 手机系统更新到最新版本,而无须等待运营商的推送。该软件需要 dotNet 4.0 的支持虽然是一个命令行工具,但提供了对 Windows 10 系统环境完好的支持,所以可以直接在 Windows 10 系统上运行。

        下面是 gOxiA 拿 Lumia 640 测试的结果,使用 USB 线缆将手机连接到笔记本,以管理员权限启动 CMD 并运行通过下载的程序包释放的命令行工具 otcupdater.exe,就可以自动更新。如果未连接手机先运行了命令,程序会提示连接手机。如果使用程序遇到了问题,可以先看看说明文档。

otcupdatetool-1

otcupdatetool-16

        由于 Lumia 920 没找到,估计要晚些时候再测试,没准能将 920 升级到 Windows 10。

        Over-the-cable Update Tool 下载地址:

https://www.microsoft.com/en-us/download/details.aspx?id=56120&751be11f-ede8-5a0c-058c-2ee190a24fa6=True&e6b34bbe-475b-1abd-2c51-b5034bcdd6d2=True&fa43d42b-25b5-4a42-fe9b-1634f450f5ee=True

Honolulu_logo

Project Honolulu Technical Preview 部署

        上一篇日志“Project Honolulu Tecnical Preview 概览”向大家介绍了 Project Honolulu 的用途和主要的功能,而今天开始 gOxiA 将分享 Project Honolulu 的部署和安装。整体来说 Honolulu 的部署和安装非常的简单,没有复杂的限制和繁琐的需求,显得非常灵活和开放。所以无需有太多的顾虑,也不用特意搭建环境。

        在官方文档中 Project Honolulu  目前推荐了三种部署模式:

  • 本地模式,安装在 Windows 10 系统上,可满足快速开始、测试、临时或小规模的环境。
  • 网关模式,部署独立的 Honolulu 服务器,用于管理托管的服务器。
  • 混合模式,适用于群集,可部署在群集中的某个节点上,管理托管的服务器

deployment

        Project Honolulu 目前支持管理最新的 Windows Server v1709,Windows Server 2016,Windows Server 2012 及其 R2 版服务器,但是仅支持部署在 Windows 10、Windows Server v1709 和 2016 系统上,其中 Windows 10 仅支持本地模式,即安装后 Project Honolulu 不会以服务形式驻留,在使用前需要启动 Project Honolulu,会在系统栏保留程序图标。

        下面的截图是在 Windows Server 2016 上安装 Project Honolulu 的步骤,需要注意的是在授权协议界面中需要复选“Allow Project Honolulu to modify this machine's trusted hosts settings.”以允许安装程序修改信赖主机设置,根据需要复选“Create a desktop shortcut to launch Project Honolulu”。另外在服务器系统上安装时会提示指定一个用于 Project Honolulu 的 Web 服务端口,为了保护 Web 登录过程的安全,还可利用安装程序生成一个自签名证书,需要注意的是该证书有效期只有60天;当然也可以指定已经安装证书的指纹,分配其使用。

1

2

3

4

        安装完毕后便可通过 “现代” 浏览器访问 Project Honolulu 的管理站点,去添加要管理的服务器。

5

        如果当前下的设备未加入到域(AD - 活动目录),需要在 PowerShell 下使用 Set-Item 指令手动配置 TrustedHosts,才能完成账户验证以管理远程服务器,命令行参考如下:

Set-Item WSMan:\localhost\Client\TrustedHosts -Value '*'

Set_WSMan_TrustedHosts

        最后确保 Windows 防火墙已放行 Windows 远程管理(WinRM)以允许通过端口 5985 进站访问。

WinRM_5985

        对于受管理的 Windows Server 2012 服务器,可能需要额外安装 Windows 管理服务框架,请移步微软下载中心获取“Windows Management Framework 5.1”。

HOWTO: 修复 WINS 解析信息没有更新 记录格式已损坏 问题

        前段时间为一个 AD 做了个 FSMO 的转移,之后对新 DNS 服务器进行了记录的手工清理工作,在对 DNS 中原有的 WINS 信息进行更新时发现报错,也无法执行删除操作,具体错误提示为 “WINS 解析信息没有更新。记录格式已损坏。

WINS_Error

        使用 DNS 管理器已是无济于事,只能借助强大的 PowerShell 命令。咨询微软技术支持了解到可以使用 Remove-DNSServerResourceRecord 命令清理域相关的记录,具体的指令如下:

Remove-DNSServerResourceRecord -ZoneName contoso.com -Force -RRType "WINS" -Name "@"

Honolulu_logo

Project Honolulu Technical Preview 概览

        九月中旬微软 Windows Server Blog 宣布了全新的 Windows Server Management Experience,并为其开通了专属 Blog。该项目的名称目前叫 Microsoft Project Honolulu

        Project Honolulu 是一个本地化部署,基于浏览器的 Windows Server 管理工具集,可为管理员提供完全控制服务器基础结构的能力,官方称该管理工具更适用于那些未连接到互联网的专用网络上的服务器管理。Project Honolulu 是管理工具的现代演变,如已知的服务器管理器和MMC,它是对系统中心和业务管理套件的一个补充,并非要取代现有的产品。

        Project Honolulu 是一套 Web 应用程序,基于浏览器运行,但目前只支持“现代”浏览器,如:Microsoft Edge 或 Google Chrome,而 IE 不在它的支持范围内,即使是最新版的 IE11 也未能例外。

doesnt_support_ie

        Project Honolulu 除了能够管理 Windows Server 2016 外,还能够管理 Windows Server 2012 R2 和 Windows Server 2012 服务器,该管理工具并不依赖 Windows Server 系统,除了可以安装在 Windows Server 2016 上,还可以安装在 Windows 10 系统上。通过 WinRM 网关实现远程 Powershell和WMI 操作,从而对服务器执行管理。

architecture

        下图就是 Project Honolulu 的运行界面,gOxiA 小试了一下,功能异常强大,几乎可以在浏览器中执行所有的服务器管理操作,基础的如设备基本信息,硬件资源实时监控,修改计算机名,加入到活动目录。还可以管理系统上的证书、硬件设备、日志,甚至还包含了文件管理和注册表管理。而防火墙、用户和组、网络、服务、存储、更新,以及系统角色和功能,也都面面俱到。更强大之处,还包含了对实时进程的管理,可以直接在浏览器中监控和操作远端服务器正在运行的进程;此外如果服务器安装了Hyper-V,还可以通过 Project Honolulu 直接进行平台的配置和虚拟机的管理。

snipaste20170926_154225

        Project Honolulu 安装包区区30MB 多一点,就实现了如此强大的管理功能,并且部署和安装方式简单、便捷,真是难得之作!后续 gOxiA 将分步与大家分享 Project Honolulu 相关资讯,敬请关注!

HOWTO: 获取 Windows 10 Insider Preview Skip ahead

        Windows 10 RS4 已经发布了 17004.1000,相信有不少朋友都想试试下一个版本的 Windows 10,虽然已经是  Windows 10 Insider Preview 成员,但在 Windows 预览体验计划面板中切换到 “Skip ahead to the next Windows release” 后,系统会自动改回当前预览版本,可以在系统栏看到通知提示 “Your Windows Insider Program content settings have been reverted.” 那么该如何强制切换到 Skip ahead 呢?!

1

2

        微软提供了一个注册表键值 “ContentType”,可强制修改获取的版本分支。该键位于“HKLM\SOFTWARE\MicrosoftWindowsSelfHost\Applicability”,默认为“Current”,如果启用预览体验计划,则为“Active”,如果要获取下一个版本则改为 “Skip”。建议在修改时禁用网卡,在重启系统后再连接网络,之后无需再等待2天,即可立即开始更新。

regedit_contenttype

3

        之前 gOxiA 分享了一篇日志“HOWTO: 基于 Windows Server iSCSI 服务创建 RAM Disk ”,由于该方法会导致服务器管理无法正常访问 iSCSI 目标服务器,可能会影响管理员日常操作。

        如果您体验完毕可以使用以下 PowerShell 步骤去删除 RAM Disk,否则对 iSCSI 目标服务的管理都要基于 PowerShell 进行。删除 iSCSI RAM Disk 的方法很简单,就是倒着执行一遍之前的命令,只不过将新建改为移除。

        首先,移除已经为 iSCSI 目标移除分配的 RAM Disk,为此执行如下命令:

Remove-IscsiVirtualDiskTargetMapping -targetName targetRAMDisk -Path "ramdisk:WIM-RAMDisk.vhdx"

remove-iscsivirtualdisktargetmapping

        然后,移除 iSCSI 目标,为此执行如下命令:

Remove-IscsiServerTarget -TargetName targetRAMDisk

remove-iscsiservertarget

        我们还能使用 Get-IscsiServerTarget 查看当前所有的 iSCSI 目标。

        最后,移除 RAM Disk,为此执行如下命令:

Remove-IscsiVirtualDisk -Path "ramdisk:WIM-RAMDisk.vhdx"

remove-iscsivirtualdisk

        上个月看到 Windows Team 的工程师 Mounia Rachidi 发布的 Blog,提到了在 Windows Server 上利用 iSCSI 创建 RAM Disk 的方法,于是动手实践了一下,感觉还不错!决定分享一下实践经验。

        实践环境是一台运行 Windows Server 2016,且拥有 32GB 内存的工作站。计划在内存中创建 28GB 的 RAM Disk,用于系统映像(WIM)的处理。将 WIM 放在 RAM Disk 里进行读写操作的优势显而易见,降低磁盘IO瓶颈。当然,也许您还能想到更多 RAM Disk 的应用场景,不妨利用 Windows Server  iSCSI 服务来体验一下。

        首先,我们需要为 Windows Server 2016 安装 iSCSI 目标服务器(iSCSI Target Server)角色,可启动服务器管理工具添加角色和功能。iSCSI目标服务器角色位于”文件和存储服务“角色下,具体参考下图:

iscsi_role

        然后,在 Windows 防火墙(Windows Firewall)中允许”iSCSI 服务“例外,即允许通过防火墙。

iscsi_service_mpssvc

        为了确保 iSCSI 目标服务能够为本机提供 iSCSI 服务,需要修改 Windows Server 2016 的注册表以允许回环模式,为此执行 Regedit 定位至如下路径,修改 AllowLoopBack(REG_DWORD) 值为:1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\iSCSI Target

iscsi_reg_allowloopback

        完成上述操作后,便可开始创建 RAM Disk,首先创建容量为 28GB 的 RAM Disk:

New-IscsiVirtualDisk -Path "ramdisk:WIM-RAMDisk.vhdx -Size 28GB

new-iscsivirtualdisk

        之后创建 iSCSI 目标:

New-IscsiServerTarget -TargetName targetRAMDisk -Initiatorlds @("IPAddress:X.X.X.X")

new-iscsiservertarget

        接下来将 RAM Disk 分配给 iSCSI 目标:

Add-IscsiVirtualDiskTargetMapping -TargetName targetRAMDisk -DevicePath "ramdisk:WIM-RAMDisk.vhdx"

add-iscsivirtualdisktargetmapping

        现在启动 Windows Server 2016 上的 iSCSI Initiator(iSCSI 发起程序,该程序位于管理工具组下) 来连接这个 iSCSI 目标。

iscsi_initator

        连接成功后,便可在通过磁盘管理器初始化这个 RAM Disk,默认配置下这个 RAM Disk 是动态扩展类型的 VHDX,所以分配并格式化后,不会马上占用内存容量,会随着 RAM Disk 数据量的增长,而发生变化,但不会因删除数据而逆转。也就是说拷贝了一个10GB的数据,删除后会发现内存占用还是10GB,必须重新启动服务器才会得到空间的释放。

diskview

        最后需要注意的是,在 iSCSI 目标服务上启用 RAM Disk 后,会导致无法正常访问 服务器管理器 下的 iSCSI 目标服务器角色。

win10creatorsupdate1703

HOWTO: 解决 Windows 10 UWP Apps 无法运行

        UWP - Universal Windows  Platform(通用 Windows 平台),自 Windows 10 引入,进一步推动了 WIndows Runtime 模型的发展,一统 Windows 核心。作为核心版的一部分,UWP 现提供了一个可供在每个运行 Windows 10 设备上使用的通用应用平台。

OneWindowsPlatform

        简单理解,就是我们开发一个 UWP 应用即可运行在所有的 Windows 10 设备上,其优势显而易见!有关 UWP 详细的介绍可以移步 https://docs.microsoft.com/zh-cn/windows/uwp/get-started/universal-application-platform-guide 参考。

        而今天 gOxiA 要与大家分享的肯定是与 ITPro 密切相关的内容,正如本期之题目解决 Windows 10 UWP Apps 无法运行。具体的故障现象是点击 UWP Apps 都会没有响应,UWP Apps 不会按照预期那样启动运行。在有些环境下能看到点击 UWP Apps 图标后会显示正在安装一样的进度条,之后再无反应。具体的故障现象可参考下面的动画截图:

errordemo

        但是切换到 Administrator 账户下却能够运行这个 UWP Apps(PS:已经配置了GPO允许本地管理员运行 UWP Apps),唯独无法运行 Microsoft Edge,会出现闪退。检查日志发现来源 Apps,ID 5973 的错误事件,具体错误是“系统找不到指定文件”。难道是应用相关文件损坏?!

log

        使用 PowerShell 命令行对 Microsoft Edge 进行重装测试,结果发现“部署失败,原因是 HRESULT: 0x80073D0A,无法安装该程序包,因为 Windows 防火墙服务未运行。请启用 Windows 防火墙服务并重置。”错误很明确了因为防火墙服务未启动导致!但是,为什么其他 UWP Apps 却能够运行呢?而且使用其他账号又都无法运行呢?!

ps_reinstall_edge

        带着迷惑执行了 PowerShell 命令行对所有系统 UWP Apps 执行重装任务,命令行参考如下:

Get-AppXPackage -AllUsers |Where-Object {$_.InstallLocation -like "*SystemApps*"} | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

        结果一致,同样提示因 Windows Firewall 服务未启动导致 UWP Apps 无法安装。检查 Windows Firewall 服务确实被禁用,重新启动后故障解除。

        其实这个过程还有另外一个版本,在发现故障的时候是在生产环境下,且之前交付的 Surface Pro 4 都是经过测试的,运行也有近一年突然出现这个问题,还是新装系统后,确实十分诡异!参考映像未有更新,故障现象均发生在加域之后,那必然与域环境有关,首先检查的就是 GPO,是否进行了限制,但经过分析发现是 Windows 防火墙服务启动被配置为禁用,恢复后故障消失,之后再禁用 Windows Firewall 服务进行测试,发现除了 Edge 外其他的 UWP Apps 均可正常运行,怀疑是系统 Bug 向微软开了 Case,引出前面提到的重装应用进行测试,确认 Powershell 命令行执行失败时提示的错误信息,因防火墙服务未运行是导致 UWP Apps 无法启动的根因。

        但该问题是否被确认为系统 Bug,还暂无结果。

分页: 4/174 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]