使用就绪工具包评估应用程序兼容性Microsoft 365 应用版

适用于 Office 加载项和 VBA 的就绪工具包可帮助你识别与 Office 一起使用的 Microsoft Visual Basic for Applications (VBA) 宏和加载项的兼容性问题。 就绪工具包包括就绪情况报告创建程序,它创建具有 VBA 宏兼容性和加载项就绪情况信息的 Excel 报表,以帮助组织评估其迁移到Microsoft 365 应用版的准备情况。

可以从 Microsoft 下载中心免费下载就绪工具包。 建议始终下载并使用最新版本。 运行报表时,就绪工具包会检查你是否使用的是最新版本,并会提示你下载最新版本。 安装最新版本之前,无需卸载旧版就绪工具包。

重要

就绪工具包不会修复或修复 VBA 宏中的代码。 如果创建高级报表,则报表会提供修正 VBA 宏代码的指导(如果可用)。

就绪情况报告创建者可以扫描 Word、Excel、PowerPoint、Outlook、Access、Project、Visio 和 Publisher 文件中的 VBA 宏,这些宏早于 Office 2003。 它还可以扫描用于 Office 的某些类型的加载项。 已标识所有 Office 应用程序的加载项,但不包括 Web 加载项。有关详细信息,请参阅 为 VBA 宏分析的文件扩展名就绪情况报告创建者为其收集数据的加载项类型

下载是一个 MSI 文件,可用于在用户的计算机上安装 Readiness Toolkit。 安装后,运行就绪情况报告创建程序时,UI 向导会引导你完成创建就绪情况报表的过程。 还有一个可从命令行运行或与脚本一起使用的独立可执行文件。 如果需要以更自动化的方式从整个企业中的用户收集就绪情况信息,这很有用。 有关详细信息,请参阅获取企业中多个用户的准备情况信息

下面提供的信息可帮助你使用准备情况报告创建程序:

注意

  • 运行就绪工具包后,许多企业发现其兼容性问题比预期的要少。 根据运行就绪工具包的企业提供的数据,平均 6% 的扫描文件具有宏,其中 3.3% 的文件存在宏问题。 因此,只有 0.2% 的文件有宏兼容性问题。 对于 Office 加载项,找到的 75% 的加载项已分类为已采用或受支持。
  • 如果对就绪工具包有反馈或疑问,请发送电子邮件至 ReadyForOffice@microsoft.com

创建准备情况报告

使用 Readiness Toolkit 的要求和限制

在安装和使用 Readiness Toolkit 之前,应注意下列要求:

  • Windows 7 Service Pack 1 (SP1)* 或更高版本

  • Microsoft .NET Framework 4.5.1 或更高版本

  • Excel 2010 或更高版本

注意

  • 建议使用 64 位版本的 Excel,特别是如果你希望在准备情况报告中显示超过 400,000 个结果时。
  • Windows 7 和 Excel 2010 不再受支持。

此外,应了解与准备情况报告创建程序相关的几个限制:

  • 就绪情况报告创建者无法扫描受密码保护的文件。 如果尝试扫描其中一个文件,该文件将在报告中显示为“受密码保护”。

  • 默认情况下,就绪情况报告创建者无法扫描保存在 SharePoint 文档库、OneDrive 或某种其他类型的基于云的存储位置中的文件。 如果尝试扫描其中一个文件,该文件将在报表中显示为“基于云的”。 有关可能的解决方法,请参阅 如何扫描基于云的文件

  • 就绪情况报告创建者在 Excel 工作表的单独行中列出 Office 文档的每个问题。 因此,就绪情况报告创建者只能返回 1,046,575 个结果。 如果预期超过这些限制,建议将报告范围缩小到特定部门。

选择要用来创建报告的信息

若要创建就绪情况报告,首先需要选择要用于创建报表的信息。 下表列出了可能的选项以及每个选项的说明。 它还指定使用每个选项创建哪种类型的就绪情况报告。

选项 说明 创建的报告
最近使用的 Office 文档和在此计算机上安装的外接程序
就绪情况报告创建者仅扫描用户最近使用的文件列表中的 Office 文档。 这样,就可以将扫描的焦点缩小到用户定期访问的文档。

此外,准备情况报告创建程序将查找安装在准备情况报告创建程序所运行计算机上的任何 Office 外接程序。
VBA 和外接程序
本地文件夹或网络共享中的 Office 文档。
就绪情况报告创建者扫描指定的文件夹或网络共享中的 Office 文档。 就绪情况报告创建者会自动扫描指定位置以及该位置中的所有子文件夹。

注意:使用此选项,准备情况报告创建程序就不会在准备情况报告创建程序所运行计算机上查找安装的外接程序。
仅 VBA
以前的准备情况结果一起保存在本地文件夹或网络共享中。
该选项允许你创建一个由多个独立计算机的各个准备情况结果组成的综合报告。

例如,你可能希望在财务部门中的所有计算机上运行就绪情况报告创建程序,将每次扫描的结果保存到网络共享。 然后,可以使用此选项为财务部门创建合并报表。

有关详细信息,请参阅获取企业中多个用户的准备情况信息
仅 VBA,或 VBA 和外接程序,具体要取决于使用的准备情况结果。
从 Office 遥测仪表板添加数据。
如果已在使用 Office 遥测仪表板 来评估外接程序兼容性,则可以使用已收集的信息来创建就绪情况报告。 只需为就绪情况报告创建者提供适当的信息即可访问适用于 Office 遥测仪表板的数据库。

注意: 使用此选项时,就绪情况报告创建者不会查找 VBA 宏。 用户需要对数据库具有 GRANT SELECT 访问权限才能运行此选项。
仅外接程序

在基本报告和高级报告之间进行选择

在选择要用于创建报告的信息并指定保存报告的位置后,需选择创建基本报告还是高级报告。

我们强烈建议创建高级报表,因为高级报表提供了其他信息来帮助你评估 VBA 宏和加载项与 Microsoft 365 应用版 的兼容性。 例如,在高级报表中,你将获得以下附加信息:

  • 针对 VBA 宏中发现的问题(如果可用)的修正建议。 此信息显示在报表中的单独工作表中。

  • 加载项的就绪状态。例如,报告可能会显示软件提供程序具有Microsoft 365 应用版支持的加载项版本。

外接程序的就绪状态源自基于遥测的计算,以及 ISV 提供的显式支持语句。

为了为你提供最新的修正建议和就绪状态,就绪情况报告创建者会在创建报表时联系 Microsoft。 有关 VBA 宏和加载项的一些信息将发送给 Microsoft。 有关发送内容的详细信息,请参阅 创建高级报表时发送给 Microsoft 的信息的示例

重要: 如果要创建高级报表,请确保运行就绪工具包的计算机有权访问 Internet。 就绪工具包调用公开可用的 Web 服务,因此防火墙需要允许以下 URL:

  • https://officeclient.microsoft.com/serverconfig16

  • https://ready.osi.office.net/orfo/api/readinesssummary

  • https://ready.osi.office.net/orfo/api/vbareportsummary

解释准备情况报告中的信息

就绪情况报告创建者创建一个就绪情况报告作为 Excel 文件。 报表中可用的就绪情况信息取决于基于报表的信息,以及你选择创建基本报表还是高级报表。

每个报告都以“概述”页开始,其中提供有关结果的概要信息,以及指向可用报告的链接 - VBA外接程序,或两者。

VBA 准备情况报告

下表提供了在 VBA 准备情况报告中显示的不同选项卡(工作表)列表。

工作表名称 内容
VBA 概述
显示三个饼图,提供扫描结果的高级概述。

每个饼图显示不同的信息:扫描的文件的状态、扫描期间找到的唯一宏的就绪状态以及扫描的唯一文件的就绪状态。 有关这些饼图中显示的文件状态和就绪状态值的详细信息,请参阅本节后面的表。

就绪工具包创建 VBA 宏代码的唯一哈希,以标识在多个文件中重复使用的宏。 就绪工具包执行类似于标识重复文件的操作。 就绪工具包执行此操作的目的是更现实地评估需要评估多少个唯一的 VBA 宏和唯一文件。

注意:如果计划部署 64 位版本的 Microsoft 365 应用版,请确保选中“包括 64 位就绪数据”复选框,并且已刷新报表。
VBA 摘要
提供一些预定义的数据透视表,以便分析从扫描中捕获的数据。

如果这些数据透视表不能满足特定需求,可以根据 VBA 结果工作表上的数据创建你自己的数据透视表。
VBA 结果
提供有关就绪情况报告创建器扫描的每个文件的信息。 如果在扫描的文件中发现多个问题,则每个问题都有一个单独的行。

有关在每一列中出现的信息的说明,请参阅本节末尾“VBA 详细信息”标题下的表。
VBA 修正
为在扫描过程中发现的 VBA 宏代码提供建议的更改。

有关在每一列中出现的信息的说明,请参阅本节末尾“VBA 详细信息”标题下的表。
VBA 引用
列出在代码和 VBA 项目中标识的引用。 这些引用通常用于调用外部 DLL、链接文件和 ODBC 连接,供 VBA 代码使用。

有关在每一列中出现的信息的说明,请参阅本节末尾“VBA 详细信息”标题下的表。

文件状态: 报告还按文件状态对扫描的文件进行分类。 下表列出了就绪情况报告中可能出现的文件状态,以及文件状态的说明。

文件状态 说明
没有 VBA
已扫描该文件,未找到任何 VBA 宏代码。
有 VBA
已扫描该文件,已找到 VBA 宏代码。
基于云
无法扫描该文件,因为它保存在 SharePoint 文档库、OneDrive 或某种其他类型的基于云的存储位置中。
密码保护
该文件受密码保护,因此,不能对 VBA 宏进行扫描。
无法访问
由于某种原因,无法扫描该文件,例如就绪情况报告创建者没有足够的权限访问该文件、文件已损坏或文件使用旧的 Office 文件格式。
无法访问 - 需要驱动程序
无法扫描文件,因为执行扫描的计算机上未安装所需的 Microsoft Access 数据库引擎 2010。
已锁定
执行扫描时文件被锁定或被占用。
错误
尝试在扫描期间读取的 VBA 代码流的格式无效。 有时,在受支持的 Office 版本中打开并保存文件将允许就绪情况报告创建者扫描该文件。

严重级别: 报表按严重性级别对 VBA 宏发现的问题进行分类,以帮助你估计解决发现的问题需要花费多少精力。 如果发现 VBA 宏存在多个问题,则报表会在饼图中显示最高严重性级别。

下表列出了在准备情况报告中显示的一些可能的严重性,并对严重性级别进行了说明。

严重性 说明
已准备好升级
此文件中未发现任何问题,并且它与 Microsoft 365 应用版 兼容。
代码设计意识
虽然代码将按预期方式正常运行,并且用户不太可能注意到任何更改,但功能、属性或方法的工作方式会与以前不同,或者可能会被弃用以支持较新的版本。
建议最小验证
预期不会发生运行时或编译时错误,但 API 功能可能已以某种方式更改。 建议用户使用Microsoft 365 应用版对文件运行抽查,以确保它继续按预期运行。 为了尽量减少环境问题,理想情况下,在通常运行宏的计算机上运行抽查。
需要有限修正
需要对代码进行一些重构。 但是,有一个明确的替代,因此预期是修复宏所需的工作显著减少。
需要重大修正
需要大量的代码重构,使代码能够像旧版 Office 一样继续运行。 例如,已弃用但未提供替换函数的 API。 在这种情况下,唯一可用的选项是重新创建功能。

详细的 VBA 信息: VBA 就绪情况报告中的“VBA 结果”、“VBA 修正”和“VBA 引用”选项卡都包含类似的信息列。 下表提供了这些列的列表,以及这些列包含哪些信息的说明。

列名称 说明 示例
准则
在扫描文档时确定的准则(规则)。
程序工具栏和菜单栏将在 Access 2013 中不再可见。
严重性
已标识问题的严重性。
需要重大修正
源位置
被扫描文件的位置。
D:\My Documents\My Files\
源文件
被扫描文件的名称。
MyFileName.xlsx
源文件哈希
唯一生成的文件哈希。
36426A0DCFC06F6425E205F107A5CA58
源文件扩展名
被扫描文件的扩展名。
.docm
模块
在其中标识了代码问题的模块名称。
mDJSCommandBars
行号
在其中标识了代码问题的行号。
112
类型
已标识的问题类型。
VBA
Member
VBA 模块部分名称,其中标识了问题 (即函数) 。
CommandBars
语句
在其中已标识问题的代码部分。
Dim ctlName As CommandBarControl
VBA 哈希
唯一生成的 VBA 代码哈希。
CC-D2-F3-9C-58-48-04-E4-16-5B-B6-44-B3-EB-EB-FE
引用
指向问题描述和帮助内容的链接(如果适用)。
https://technet.microsoft.com/library/cc178954.aspx
FileStatus
已处理的文件状态分类。
密码保护
64Bit
指定标识的问题是否特定于 64 位。

UserHash
文件用户。
Katharine Cruz
DeviceName
执行扫描的计算机名称。
Laptop01
原始代码
在宏中找到的 VBA 代码,在移动到 64 位版本的 Office 时可能会导致问题。
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
建议的更改
关于如何更新宏中的 VBA 代码以正确使用 64 位版本的 Office 的建议。1, 2
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
标签 1
自定义标签的值(如果已配置)。 有关详细信息,请参阅 使用标签对报表中的数据进行分类和筛选
北美
标签 2
自定义标签的值(如果已配置)。 有关详细信息,请参阅 使用标签对报表中的数据进行分类和筛选
旧金山
标签 3
自定义标签的值(如果已配置)。 有关详细信息,请参阅 使用标签对报表中的数据进行分类和筛选
财务
标签 4
自定义标签的值(如果已配置)。 有关详细信息,请参阅 使用标签对报表中的数据进行分类和筛选
控制器
源文件引用 (英文) 执行扫描时隐藏文件名时,用于标识 file-names.log 文件中的文件名的唯一值。 有关详细信息,请参阅 管理报表中收集的数据的隐私 9FE4E090A33CDA8F4502E7E5672464C8F40E79E353DC98FF8CA84846C7D99822
RT 版本 运行扫描的计算机上安装的 Readiness Toolkitba 版本 1.0.0.0

1 有关编写 64 位版本 Office VBA 代码的详细信息,请参阅 64 位 Visual Basic for Applications 概述

2重要提示: 所有建议的更改均按原样提供,无担保或保证。 更新 VBA 宏代码时,请务必验证所有更改是否按预期工作。

外接程序报告

下表提供了在外接程序报告中显示的不同选项卡(工作表)列表。

工作表名称 内容
外接程序摘要
提供了准备情况报告创建程序所发现的外接程序的高级概述。

工作表顶部的数据旨在让你快速评估可能与Microsoft 365 应用版兼容的加载项数量,以及需要对多少加载项进行更多研究。
外接程序详细信息
提供关于所发现外接程序的元数据信息(例如,发布者和版本号)、每个外接程序的安装总数,以及如果是高级报告,其就绪状态(例如,“支持的可用版本”)。
按计算机名称
提供的信息与“外接程序详细信息”工作表上的内容类似,但列出了在其上安装外接程序的每台计算机,而不仅仅是外接程序的总安装数。

通过从“加载项摘要”选项卡上的下拉列表中选择选项,然后刷新报表,可以调整外接程序报表中显示的信息。 例如,可以调整报表以仅显示有关 Access 和 Excel 加载项的信息。

默认情况下,不会显示 Office 提供的加载项。 如果要查看有关这些加载项的信息,请从下拉列表中选择“是”并刷新报表。 但是,大多数企业无需担心 Office 附带的加载项的应用程序兼容性。

如果正在 收集加载项使用情况信息 ,并只想查看有关正在使用加载项的信息,可以从下拉列表中选择"是",并刷新报表。

如果计划部署 64 位版本的 Microsoft 365 应用版,请务必从下拉列表中选择“64 位”并刷新报表。 这会提供有关加载项的 64 位特定就绪情况信息。报表的默认选择是 32 位。

下表列出了可以在外接程序报告中看到的可能的就绪状态,以及每个状态的含义说明。

就绪状态 说明
广泛采用
此加载项正在其他组织的Microsoft 365 应用版上广泛使用,并且已准备好与Microsoft 365 应用版一起使用。 但是,软件提供商不正式支持 Microsoft 365 应用版 上的加载项。
已采用
此加载项正在其他组织的Microsoft 365 应用版上使用,但软件提供商并不正式支持Microsoft 365 应用版上的加载项。
已采用可用版本
此加载项的不同版本在Microsoft 365 应用版上为“已采用”或“高度采用”。
联系软件提供商
此加载项可能有Microsoft 365 应用版问题。 你需要确定此加载项是否是业务关键型加载项,然后联系软件提供商获取指导。
支持可用版本
软件提供商提供用于Microsoft 365 应用版的此加载项的支持版本。
未知1,2
Microsoft 不知道此加载项。 例如,它可以是内部应用程序开发团队创建的业务线加载项。

如果创建基本报表,则所有加载项的就绪状态将列为“未知”。 只有在创建高级报表时,就绪情况报告创建者才会联系 Microsoft,以尝试获取加载项的就绪状态。
数据不足2
Microsoft 已经看到此外接程序,但是没有收集到足够的信息为该其提供就绪状态。

1 默认情况下,Office 附带的某些加载项当前在加载项就绪情况报告中标记为“未知”。 这些加载项实际上是高度采用的,受 Microsoft 支持。 下面是这些加载项的名称:Add-Ins 的 ActionsPane 架构、分析工具库、 分析工具库 - VBA、Date (XML) 、Microsoft Office 2016 的对话历史记录加载项、欧元货币工具、即时消息联系人 (英语) 、度量转换器 (度量转换器) 、Microsoft Actions 窗格 3、Microsoft Office 2016 Skype 会议外接程序、求解器加载项、电话号码 (XML) , 和 时间 (XML) 。

2 有关详细信息,请参阅对分类为“未知”或“数据不足”外接程序可能采取的步骤

详细的加载项信息: 加载项报表中的“加载项详细信息”和“按计算机名称”选项卡都包含类似的信息列。 下表提供了这些列的列表,以及这些列中包含的信息的说明。

列名称 说明
计算机名称
在其中安装外接程序的计算机的名称。

此列仅显示在“按计算机名称”选项卡上。
外接程序名称
外接程序的名称。
外接程序发布者
外接程序发布者的名称。
外接程序版本
外接程序的版本。
应用
使用外接程序的 Office 应用程序。 例如,Word 或 Excel。
安装总数
外接程序的安装总数。

此列仅显示在“外接程序详细信息”选项卡上。
就绪状态(32 位)
加载项的就绪状态。 仅限高级报表。

请参阅上面的表格,以获得可能的就绪状态列表。

注意:如果从“外接程序摘要”选项卡上的下拉列表中选择“64 位”,此列名将显示为“(64 位)”。
说明
有关加载项就绪状态的其他信息(如果可用)。 仅限高级报表。
更多信息
指向有关加载项的其他就绪情况信息的链接。 仅限高级报表。
总的设备安装 安装加载项的设备数量。

收集加载项使用情况信息时可用。 有关详细信息,请参阅 在报表中收集和显示加载项使用情况信息
总的使用加载项的设备 自开始收集加载项使用情况信息起便已使用加载项的设备数。

收集加载项使用情况信息时可用。 有关详细信息,请参阅 在报表中收集和显示加载项使用情况信息
{date} 起使用的加载项 指示自开始收集加载项使用情况信息起是否已使用该加载项。

收集加载项使用情况信息时可用。 有关详细信息,请参阅 在报表中收集和显示加载项使用情况信息

获取企业中多个用户的准备情况信息

在单个用户的计算机上安装和运行就绪情况报告创建器即可轻松创建就绪情况报告。 但是,如果你在一个大型组织中,需要为整个部门或分支机构创建就绪情况报告呢?

除了就绪情况报告创建者的 UI 向导版本外,还有一个可从命令行运行或与脚本一起使用的独立可执行文件。 它名为 ReadinessReportCreator.exe,位于安装就绪工具包的文件夹中。

如果让用户运行就绪情况报表创建者的 UI 向导版本,则最终会获得单独的 Excel 文件,每个用户一个文件。 这使得很难从部门或办公室的角度看到准备情况。 还必须依赖用户来运行就绪情况报告创建程序,并正确按照说明进行操作。

更好的替代方法是使用就绪情况报告创建者的命令行功能,并使用脚本运行就绪情况报告创建程序以代表用户收集信息。 可以将就绪情况报告创建者创建的文件保存到网络共享。 如果执行此操作,请确保为共享提供了适当的写入权限。

注意

如果使用 Microsoft Configuration Manager或类似的企业软件部署工具运行就绪工具包,请确保使用用户上下文而不是系统上下文部署包。 否则,就绪工具包将无法读取计算机上当前用户的注册表配置单元中最近使用的 (MRU) 信息。

若要查看可用命令行选项列表,可以通过打开一个命令提示符,导航到安装 Readiness Toolkit 的文件夹,然后输入以下命令:

ReadinessReportCreator.exe -help

就绪情况报告创建者的命令行版本不具有与 UI 向导版本相同的功能。 可以使用命令行版本扫描计算机上最近使用的 Office 文档和已安装的加载项,或者在本地文件夹或网络共享中扫描 Office 文档。

下面是一个命令行示例,你可以运行该命令行来扫描 VBA 宏和加载项,并将结果保存到财务部门的网络共享。 请注意,必须在命令行中包含 addinscan 选项,才能进行加载项扫描。

ReadinessReportCreator.exe -mru -addinscan -output \\server01\finance -silent

下面是一个命令行示例,你可以运行该命令行来扫描用户最近使用的 Office 文档,并将结果保存到财务部门的网络共享。 这仅扫描 VBA 宏。

ReadinessReportCreator.exe -mru -output \\server01\finance -silent

下面是一个命令行示例,你可以运行该命令行来扫描文件夹及其所有子文件夹,并将结果保存到财务部门的网络共享。 这仅扫描 VBA 宏。

ReadinessReportCreator.exe -p c:\officefiles\ -r -output \\server01\finance -silent

请务必注意,从命令行运行就绪情况报告创建程序时,就绪情况报告创建程序不会创建 Excel 文件。 相反,就绪情况报告创建者会创建包含扫描中的 VBA 宏和加载项信息的 JSON 文件。

若要从这些各种命令行扫描创建合并的 Excel 报表,需要运行就绪情况报表创建者的 UI 向导版本。 对于信息源,请选择“以前的就绪情况结果一起保存在本地文件夹或网络共享中”,然后指定保存扫描的所有文件的位置。 然后,就绪情况报告创建者将 JSON 文件中的信息合并到单个 Excel 文件中的就绪情况报表中。

请记住,就绪情况报告创建者在 Excel 工作表的单独行中列出 Office 文档的每个问题。 因此,就绪情况报告创建者只能返回 1,046,575 个结果。 如果预期超过这些限制,建议将报告范围缩小到特定部门。 或者,SQL 导出选项对它可以容纳的结果数没有限制,因此,如果预期大量结果,这可能是一个合适的选择。

默认情况下,就绪工具包将花费 2 分钟时间扫描一个文件,然后超时并转到另一个文件。 可以从命令行使用 -t 选项,使就绪工具包扫描文件的时间超过 2 分钟。

使用SQL Server存储报表结果

从 2019 年 4 月 9 日发布的版本 1.2.19098) (开始,你可以将报表数据导出到任何受支持的 SQL Server 或 SQL Server Express 版本。 此功能是针对许多希望在运行就绪工具包报告时获得更大规模和灵活性的客户反馈的响应。

可以使用就绪情况报表创建器向导或命令行。 如果使用就绪情况报告创建程序,请选择 本地文件夹或网络共享中的 Office 文档 ,或 将“以前的就绪情况结果”一起保存在本地文件夹或网络共享选项中 。 然后,在“报表设置”页上,选择“SQL Server报表”。 提供所需的凭据和要使用的数据库的名称。 如果该数据库不存在,则会创建该数据库。

将创建具有相同信息的 Power BI 报表来查看结果,而不是创建 Excel 文件。 可以根据需要扩展或更改此 Power BI 报表。 它的文件扩展名为 .pbit,并保存到安装就绪工具包的文件夹,该文件夹通常是 C:\Program Files (x86) \Microsoft Readiness Toolkit for Office。 如果 Power BI 中出现提示,请选择“ 直接查询 数据访问模式”。

如果使用就绪情况报告创建者的命令行版本,请键入 ReadinessReportCreator.exe -help 以查看使用 SQL Server 数据库的相应命令。 例如,可以使用以下命令根据财务部门的先前就绪结果创建报表,使用名为 Readiness 的本地 SQL 数据库,并使用SQL Server身份验证,而不是Windows 身份验证。

ReadinessReportCreator.exe -sqlimport “C:\Reports\Finance” -server localhost/SQLEXPRESS -database Readiness -username Officeadmin -password seCRet123$%^

使用标签分类和筛选报告中的数据

最多可以指定四个自定义标签,以对就绪工具包创建的报表中的数据进行分类和筛选。 基于对用户计算机上最近使用的 Office 文档和已安装加载项的扫描,报表中提供了标签。

可以为自定义标签指定任何字符串。 例如,可以使用标签来指示用户的部门、职务或地理位置。 在用户的计算机上运行就绪工具包时,将收集自定义标签,并在创建的报表中提供。 例如,可以筛选报表,以仅显示来自财务部的数据,或仅显示来自非洲办事处的数据。 以一致的方式分配标签,例如始终将标签 1 用于部门。

可以使用“指定自定义标签以用于就绪工具包组策略设置来指定这些标签。 可以在“用户配置\策略\管理模板\Microsoft Office 2016\Readiness Toolkit”下找到此策略设置。 请务必下载最新的 管理模板文件 (ADMX/ADML) for Office

注意

如果你使用的是 Office 遥测仪表板,并且已配置标记 (标签) ,则就绪工具包会在扫描用户计算机期间自动收集这些标签,并在其报告中提供这些标签。 但是,为就绪工具包指定的标签不会显示在 Office 遥测仪表板中。

管理报表中收集数据的隐私

组织中的用户通常使用包含敏感信息或机密信息的文件名保存 Office 文件。 为了保护用户的隐私并帮助防止泄露敏感信息,就绪工具包允许你创建一个报告,以隐藏扫描期间标识的文档的文件路径和名称。 可以通过从 UI 向导或命令行运行就绪情况报表创建程序来创建隐藏此信息的报表。

如果使用 UI 向导,请首先选择“最近使用的 Office 文档并在此计算机上安装了加载项”或“本地文件夹或网络共享中的 Office 文档”作为要创建的报表类型。 然后,在向导的下一页上,选中“ 隐藏文件名和路径 ”复选框,然后继续操作。

如果使用命令行创建报告,请使用 -ConcealNames 选项,如下面的示例中所示。

ReadinessReportCreator.exe -mru -addinscan -output \\server01\finance -silent -concealnames

创建隐藏文件路径和文档名称的报表时,仅保留驱动器号、文件名的前两个字符和文件扩展名。 文件路径的其他字符(最多 8 个字符)和文件名的其他字符将替换为星号 (*) 。 例如,“c:\mergersinfo\Q4\companyx.docx”将显示为“c:\********\co******.docx”。

创建报表时,将在运行扫描的计算机上创建名为 file-name.log 的文件。 此文件包含扫描的文件路径和名称的完整列表,没有隐藏任何信息。 日志文件还包括列出的每个文件的引用代码。 此引用代码显示在已创建的报表的列中。 这样,就可以在报告中识别需要进一步调查的 VBA 宏或外接程序问题时,识别报表中的特定文件。 file-names.log 文件将保存到用户的 AppData 文件夹中的临时文件夹中。 例如,对于 user01,该文件将保存到 C:\Users\user01\AppData\Local\Readiness Toolkit Temp\ 文件夹中。

在报告中收集和显示加载项使用情况信息

如果希望更好地洞察组织内经常使用哪些加载项以及谁在使用,可以使用 Readiness Toolkit 收集加载项使用情况信息,并将其包含在准备情况报表中。

若要收集外接程序使用情况信息,请在要从中捕获加载项使用情况信息的每台计算机上安装最新版本的就绪工具包。 若要启用生成和收集外接程序使用情况信息的代理,需要启用“允许由 Readiness Toolkit 生成和收集加载项使用情况数据”组策略设置。 Microsoft 下载中心提供的最新版本 的管理模板文件 (ADMX/ADML) Office 中提供了此策略设置。 此策略设置位于“用户配置\策略\管理模板\Microsoft Office 2016\Readiness Toolkit”下。

生成和收集的数据包括加载和使用加载项的时间和加载项是否崩溃。 此信息存储在运行使用代理的计算机的注册表中。

建议允许使用代理运行至少 30 天,以确保你能够很好地覆盖用户及其使用行为。 监视期完成后,创建就绪情况报告以收集信息并将其显示在报表中。 获得所需信息后,通过更改组策略设置来关闭使用代理。

注意

在此版本的 Readiness Toolkit 中,在运行 Office 2016 的计算机上是不收集加载项使用情况信息的。

检测 Silverlight 或 Flash 控件

Silverlight、Shockwave Flash 和 Macromedia Flash 控件在 Microsoft 365 应用版 中被阻止激活。 有关此内容的详细信息, 请阅读此技术社区文章

若要标识包含这些控件的 Office 文件,可以选择在创建就绪情况报告时扫描所有 Office 文档。 这将扫描所有 Office 文件,即使这些文件不包含宏。 由于扫描的文件更多,因此报表创建需要更长的时间。

如何扫描基于云的文件

默认情况下,就绪情况报告创建者无法扫描保存在 SharePoint 文档库、OneDrive 或某种其他类型的基于云的存储位置中的文件。 如果尝试扫描其中一个文件,该文件将在报表中显示为“基于云的”。

一种可能的解决方法是扫描用户计算机上的这些基于云的文件的本地缓存。 如果文件仅存储在基于云的位置,则可以创建映射到 OneDrive 或 SharePoint 共享的网络驱动器。 然后,你可以让就绪情况报告创建者扫描该驱动器。 但是,扫描此位置时,必须将文件下载到内存中才能执行扫描。 根据这些文件的数量和大小,这可能会导致扫描花费的时间明显更长,并占用大量网络带宽。

扫描 Office 文档中的宏签名问题

为了增强 Office VBA 宏项目签名的安全性,Microsoft 提供了更安全的 VBA 项目签名方案版本:V3 签名。 我们建议组织对所有宏应用 V3 签名,以消除篡改的风险。

可以使用就绪工具包查找组织中现有的已签名 VBA 文件,这些文件应升级为使用 V3 签名。

若要查找这些文件,请从提升的命令提示符运行就绪情况报告创建程序,并使用 sigscan 选项。 以下示例命令行将扫描 vba_files 文件夹中的文件,并在 vba_results 文件夹中创建一个包含扫描结果的 JSON 文件。

ReadinessReportCreator.exe -sigscan -p C:\vba_files -r -output C:\vba_results

若要在 Excel 中查看结果,请运行就绪工具包,然后在 “创建就绪情况报告 ”页上,选择“ 以前一起保存在本地文件夹或网络共享中的就绪情况结果”。 然后,在命令行中指定使用 sigscan 创建的 JSON 文件,并完成就绪工具包向导中的步骤。

注意

若要使用 sigscan,必须至少使用 2021 年 3 月 19 日发布的就绪工具包版本 1.2.21067。

有关详细信息,包括如何升级这些文件以使用 V3 签名,请参阅 将已签名的 Office VBA 宏项目升级到 V3 签名

使用 VBA 宏识别可能被阻止的文件

VBA 宏是恶意参与者获取部署恶意软件和勒索软件访问权限的常见方式。 因此,为了帮助提高 Office 的安全性,我们更改了 Office 应用程序的默认行为,以阻止来自 Internet 的文件中的宏。 有关详细信息,请参阅 Office 中默认阻止来自 Internet 的宏

若要识别包含可能阻止运行 VBA 宏的文件,可以从命令提示符运行就绪情况报告创建程序,并使用 blockinternetscan 选项。 例如,如果要扫描 c:\officefiles 文件夹中的文件 (及其所有子文件夹在设备上) ,并将包含结果的 JSON 文件保存到 Server01 上的 Finance 共享,则可以运行以下命令。

ReadinessReportCreator.exe -blockinternetscan -p c:\officefiles\ -r -output \\server01\finance -silent

其他信息

针对 VBA 宏分析的文件扩展名

下表按应用程序列出了准备情况报告创建程序在 Office 文档中查找 VBA 宏时分析的文件扩展名。

应用程序 文件扩展名
Access
accdb, accdt, mdb
Excel
xla, xlam, xls, xlsm, xlsx, xlt, xltm, xltx
Outlook
otm
PowerPoint
pot, potm, potx, ppa, ppam, pps, ppsm, ppt, pptm, pptx, sldx, sldm
Project
mpp, mpt
Publisher
pub
Visio
vsd, vsdx, vsdm
Word
doc, docm, docx, dot, dotm, dotx

准备情况报告创建程序在其中收集数据的加载项类型

下表列出了就绪情况报告创建者收集数据的加载项类型。 已标识所有 Office 应用程序的加载项,但不包括 Web 加载项。为在 Microsoft 365 应用版 中运行的 COM 加载项提供了就绪情况信息。

外接程序类型 Office 应用程序 说明
自动化
Excel
Excel 支持的自动化外接程序是基于 COM 外接程序构建而成。可从 Excel 工作表中的公式调用自动化外接程序中的函数。
COM
Excel、Outlook、PowerPoint 和 Word
COM 外接程序包括通常用 C++ 编写的外接程序和使用托管代码开发的 Visual Studio Tools for Office (VSTO)。
VBA
Excel、PowerPoint 和 Word
VBA 加载项是包含 VBA 代码的应用程序特定文件。 它们包括启用了宏的 Word 模板 (.dotm)、 Excel 加载项(.xla 和.xlam)以及 PowerPoint 加载项(.ppa 和 .ppam)。
WLL
Word
WLL (.wll) 外接程序特定于 Word,它是使用任何支持构建 DLL 的编译器构建的。
XLL
Excel
XLL 加载项 (.xll) 特定于 Excel,它是使用任何支持构建 DLL(动态链接库)的编译器构建的。 无需安装或注册这些加载项。 XLL 加载项还包括包含了用户定义的命令和函数的 DLL。
XLS RTD
Excel
XLS 实时数据 (RTD) 外接程序是使用 RealTimeData 工作表函数调用自动化服务器来实时检索数据的 Excel 工作表。

创建高级报告时发送给 Microsoft 的信息示例

选择创建高级报告时,将向 Microsoft 发送一些信息。

下表提供了一个列表,其中包含发送给 Microsoft 的在扫描过程中发现的 VBA 宏的相关信息,以及示例。

数据 说明 示例
DevicesScanned
已扫描的计算机数。
DevicesScanned: 23
UniqueUsers
扫描中包含的用户数。
UniqueUsers: 14
规则
发现特定规则应用于扫描的 VBA 宏的次数的计数。 GUID 用于唯一标识规则。
48f05b1d-c8ad-4d0c-9453-1abdf007b2db: 23

74db65ab-76f3-43fb-997d-0d9750efb527: 2
FilesWithIssues
具有兼容性问题的唯一文件数。
FilesWithIssues: 320
FilesWithDuplicateVBA
包含重复宏的唯一文件数。
FilesWithDuplicateVBA: 233
FilesWithNoIssuesFound
没有任何问题的唯一文件数。
FilesWithNoIssuesFound: 12
InaccessibleFiles
唯一不可访问的文件数。
InaccessibleFiles: 4
FilesPasswordProtected
受密码保护的唯一文件数。
FilesPasswordProtected: 123
FilesLocked
唯一锁定文件数。
FIlesLocked: 0
FilesWithVBA
使用 VBA 的唯一文件数。
FilesWithVBA: 122
FilesWithoutVBA
不使用 VBA 的唯一文件数。
FilesWithoutVBA: 11
Significantremediationrequired
需进行重大修正的唯一文件数。
Significantremediationrequired: 12
Limitedremediationrequired
需进行有限修正的唯一文件数。
Limitedremediationrequired: 12
Minimalvalidationrequired
需进行最小验证的唯一文件数。
Minimalvalidationrequired: 22
CodeDesignChanges
包含我们建议更改的使用功能的唯一文件数。
CodeDesignChanges: 1
DevicesWithNoMacros 没有宏已启用文件的设备数。 DevicesWithNoMacros: 12
DevicesWithDeclares 已扫描的包含使用 Declare 语句宏的设备数。 DevicesWithDeclares: 12
DevicesWhichRequireSignificantRemediation 包含需要大量修正的宏文件的设备数。 DevicesWhichRequireSignificantRemediation: 12
DevicesBlockedFromUpgrade 包含需要取消阻止修正才能升级到Microsoft 365 应用版的宏的设备数。 DevicesBlockedFromUpgrade: 1
DevicesWithMacrosWithIssues 包含与宏存在兼容性问题的设备数。 DevicesWithMacrosWithIssues: 2
DevicesWhichRequireLimitedRemediation 包含需要有限修正的宏文件的设备数。 DevicesWhichRequireLimitedRemediation: 12
DevicesWhichRequireMinimalValidation 包含宏文件需要最小验证的设备数。 DevicesWhichRequireMinimalValidation: 12
DevicesWithMacrosWithoutIssues 包含宏,但不具有任何兼容性问题的设备数。 DevicesWithMacrosWithoutIssues: 12
DevicesWithMacros 包含宏文件的设备数。 DevicesWithMacros: 12
DevicesSafeToUpgrade 已准备好升级到Microsoft 365 应用版的设备数。 DevicesSafeToUpgrade: 12
DevicesWithOlderToolVersion 使用旧版本 Readiness Toolkit 的设备数。 DevicesWithOlderToolVersion: 12

下表提供了一个列表,其中包含发送给 Microsoft 的在扫描过程中发现的加载项的相关信息,以及示例。

数据 示例
加载项专业 ID
UCAddin.LyncAddin.1
友好名称
Microsoft Office 2016 (Outlook) 的 Skype 会议外接程序
说明
Microsoft Office 2016 的 Skype 会议外接程序
文件名
UCADDIN.DLL
外接程序 CLSID
{A6A2383F-AD50-4D52-8110-3508275E77F7}
提供商
Microsoft Corporation
文件时间戳
1499940832
文件版本
16.0.8326.2044
Office 应用
Outlook
设备数量
35

更改宏设置以查看准备情况报告中的信息

就绪情况报表创建者创建的报表使用宏和活动内容在报表中显示信息。 因此,若要在报表中查看 VBA 宏兼容性和加载项就绪情况信息,需要在 Excel 中允许宏和活动内容。 如果未在 Excel 中启用宏和活动内容,则打开报表时,“概述”工作表上会显示“入门”消息。 该页上介绍了如何启用宏和活动内容。 这可以像单击消息栏中的“ 启用内容 ”一样简单。

在某些情况下,你可能看不到“消息栏”和 “启用内容” 选项。 这很可能是因为 Excel 配置为禁用所有宏而不通知。 可以通过转到“文件>选项>信任中心信任中心>设置...”来检查此设置。>宏设置。 在“ 信任中心 ”对话框中,可以将设置更改为 “禁用所有带有通知的宏”。 执行此操作后,选择 “确定” 保存更改并关闭 “信任中心 ”对话框,然后选择“ 确定 ”以关闭 “Excel 选项 ”对话框,然后关闭报表文件。 再次打开报表文件时,应会看到“消息栏”和 “启用内容” 选项。

如果“信任中心”对话框中的宏设置选项灰显,则表示管理员已使用 组策略配置了这些设置,并且无法手动更改设置。 在这种情况下,最简单的解决方案是在 Excel 的宏设置允许通过在消息栏中选择“ 启用内容” 选项来启用宏的其他计算机上打开报表文件。

有关宏设置选项的详细信息,请参阅启用或禁用 Office 文件中的宏

对分类为“未知”或“数据不足”外接程序可能采取的步骤

如果加载项被分类为“未知”或“数据不足”,则表示 Microsoft 尚未提供有关加载项的足够信息来提供就绪状态。 如果这是一个对组织至关重要的业务加载项,则可以执行以下操作:

  • 请联系开发此加载项的软件提供商,了解加载项是否受Microsoft 365 应用版支持。

  • 请通过 ReadyForOffice@microsoft.com联系我们。 我们将尽最大努力将加载项的就绪状态添加到数据库。 请尽可能多地提供有关加载项的信息,包括但不限于以下内容:

    • 友好名称

    • 文件版本

    • 软件提供商

    • 下载链接,或任何关于如何下载和安装外接程序的详细信息。

    • 其他详细信息,诸如外接程序类型,外接程序与之结合使用的 Office 应用、Prog ID 或 CLSID。

以错误报告形式发送给 Microsoft 的信息

如果显示就绪情况报告时出现问题,你将收到一条消息,询问你是否要向 Microsoft 发送错误报告。 例如,如果在报表中创建图形或查询收集的数据时遇到问题。

通过向 Microsoft 发送错误报告,可以帮助我们改进就绪工具包。 发送给 Microsoft 的错误报告不包含任何个人身份信息。 下表提供了错误报告中发送给 Microsoft 的信息的列表。

已发送数据 说明
模块 发生错误的 VBA 模块。
Sub 过程/函数名称 发生错误的子过程或函数的名称。
行标识符 放置在最后成功执行的代码行开头的标识符。
错误消息 用户消息通常由错误输出。 可能会针对某些错误进行本地化。
错误号 标识错误的号码。
源名称 引发错误的对象的名称。 这不是变量名称。
工具版本 使用的 Readiness Toolkit 版本。
报告 GUID 为每个报告生成的 GUID,以帮助筛选重复错误。
会话 ID 创建报告时,会话 ID 可以帮助将该报告与 Readiness Toolkit 记录的任何错误关联起来。
Excel 版本 用于查看准备情况报告的 Excel 版本。