解决信息保护扫描程序部署问题

注意

Azure 信息保护统一标记扫描程序将更名为“Microsoft Purview 信息保护扫描程序”。 同时,配置(目前为预览版)将移动到 Microsoft Purview 合规门户。 目前,可以在 Azure 门户和合规门户中配置扫描程序。 本文中的说明指这两个管理门户。

如果Microsoft Purview 信息保护扫描程序出现问题,请使用 Start-ScannerDiagnostics PowerShell cmdlet 验证部署是否正常,以启动扫描程序诊断工具:

Start-ScannerDiagnostics

诊断工具会检查以下详细信息,然后创建包含结果的日志文件:

  • 数据库是否是最新的
  • 网络 URL 是否可访问
  • 是否存在有效的身份验证令牌,是否可以获取策略
  • 配置文件是否已在 Azure 门户中定义
  • 脱机/联机配置是否存在并可获取
  • 配置的规则是否有效

提示

  • 如果未使用用于运行扫描程序服务的服务帐户运行该工具,则必须使用此参数 -OnBehalf 。 否则将遇到错误。
  • 若要打印扫描程序日志中的最后 10 个错误,请添加 Verbose 参数。 如果要打印更多错误,请使用 VerboseErrorCount 定义要打印的错误数。

Start-ScannerDiagnostics 命令不会运行完整的先决条件检查。 如果扫描程序出现问题,还必须确保系统符合 扫描程序要求,并且 扫描程序配置和安装 已完成。

验证每个扫描程序节点和存储库的扫描详细信息

运行 Get-ScanStatus PowerShell cmdlet,获取有关扫描程序群集中当前扫描状态和节点列表的详细信息。

PS C:\> Get-ScanStatus
Cluster        : contoso-test
ClusterStatus  : Scanning
StartTime      : 12/22/2020 9:05:02 AM
TimeFromStart  : 00:00:00:37
NodesInfo      : {t-contoso1-T298-corp.contoso.com,t-contoso2-T298-corp.contoso.com}

NodesInfo 变量与 Get-ScanStatus cmdlet 配合使用,获取有关群集中每个节点的更多详细信息:

PS C:\WINDOWS\system32> $x=Get-ScanStatus
PS C:\WINDOWS\system32> $x.NodesInfo

输出显示表中每个节点的详细信息,如以下示例所示:

NodeName                            Status    IsScanning    Summary
--------                            --------  ----------    -------
t-contoso1-T298-corp.contoso.com    Scanning        True    Microsoft.InformationProtection.Scanner.ScanSummaryData
t-contoso2-T298-corp.contoso.com    Scanning     Pending    Microsoft.InformationProtection.Scanner.ScanSummaryData

若要进一步向下钻取到每个节点,请再次使用该 NodesInfo 变量,节点整数从 0 开始。

PS C:\Windows\system32> $x.NodesInfo[0].Summary

输出显示所选节点上扫描的详细信息,如以下示例所示:

ScannerID               : t-contoso1-T298-corp.contoso.com
ScannedFiles            : 2280
FailedFiles             : 0
ScannedBytes            : 78478187
Classified              : 0
Labeled                 : 0
....

Verbose参数与 Get-ScanStatus cmdlet 配合使用,以获取有关当前扫描的数据。

PS C:\> Get-ScanStatus -Verbose
ScannedFiles    MBScanned    CurrentScanSummary                                         RepositoriesStatus
------------    ---------    ------------------                                         ------------------
        2280    78478187     Microsoft.InformationProtection.Scanner.ScanSummaryData    {{ Path = C:\temp, Status = Scanning }

RepositoriesStatus使用或CurrentScanSummary变量进一步向下钻取有关存储库状态的更多详细信息。

可能的存储库状态值包括:

  • 跳过了存储库(如果已跳过存储库)
  • 挂起,如果当前扫描尚未开始扫描存储库
  • 扫描,如果当前扫描在存储库上运行
  • 完成,如果当前扫描已完成在存储库上运行

示例:使用 RepositoriesStatus 变量

PS C:\Windows\system32> $x.Get-AIPScannerStatus -Verbose
PS C:\Windows\system32> $x.RepositoriesStatus
Path        Status
----        ------
C:\temp     Scanning

示例:使用 CurrentScanSummary 变量

PS C:\Windows\system32> $x.CurrentScanSummary
ScannerID               : 
ScannedFiles            : 2280
FailedFiles             : 0
ScannedBytes            : 78478187
Classified              : 0
Labeled                 : 0
....

此输出仅显示单个存储库。 如果有多个存储库,则每个存储库将单独列出。

扫描程序错误参考

下表提供有关扫描程序生成的特定错误消息的信息,并提供修复关联问题的操作:

错误类型 故障排除
身份验证错误
策略错误
DB/架构错误
其他错误

身份验证令牌不被接受

错误消息

Microsoft.InformationProtection.Exceptions.AccessDeniedException:服务不接受身份验证令牌。

描述

Set-Authentication 命令失败。

分辨率

Azure 门户中正确定义了适当的权限的 Verfy。

有关详细信息,请参阅 为 Set-Authentication 创建和配置 Microsoft Entra 应用程序。

缺少身份验证令牌

错误消息

  • NoAuthTokenException:客户端应用程序未能为 HTTP 请求提供身份验证令牌

  • Microsoft.InformationProtection.Exceptions.NoAuthTokenException:客户端应用程序无法为 HTTP 请求提供身份验证令牌。 失败,出现:System.AggregateException:发生一个或多个错误。 >--- Microsoft.IdentityModel.Clients.ActiveDirectory.AdalException: user_interaction_required: 遇到两个条件之一:1。 PromptBehavior.Never 标志已传递,但无法遵循约束,因为需要用户交互。 2. 在无提示 Web 身份验证期间发生错误,该错误阻止 http 身份验证流在足够短的时间范围内完成

  • 未能使用 Windows 集成身份验证获取令牌(无 SSO)

  • 在Azure 门户的“节点”页上:

    策略不包含任何自动标记条件

描述

当扫描程序以非交互方式运行时,会发生这些身份验证错误。

分辨率

必须使用 Set-Authentication cmdlet 通过令牌进行身份验证。

运行 Set-Authentication cmdlet 时,请确保代表用于运行扫描程序服务的服务帐户使用令牌参数,如以下示例所示:

$pscreds = Get-Credential CONTOSO\scanner
Set-Authentication -AppId "77c3c1c3-abf9-404e-8b2b-4652836c8c66" -AppSecret "OAkk+rnuYc/u+]ah2kNxVbtrDGbS47L4" -DelegatedUser scanner@contoso.com -TenantId "9c11c87a-ac8b-46a3-8d5c-f4d0b72ee29a" -OnBehalfOf $pscreds
Acquired application access token on behalf of CONTOSO\scanner.

有关详细信息,请参阅 获取扫描程序的 Microsoft Entra 令牌。

策略缺失

错误消息

缺少策略

描述

扫描程序找不到敏感度标签策略文件。

分辨率

若要验证策略文件是否按预期存在,请签入以下位置: %localappdata%\Microsoft\MSIP\mip\MSIP。Scanner.exe\mip\mip.policies.sqlite3

有关敏感度标签及其标签策略的详细信息,请参阅 创建和配置敏感度标签及其策略

策略不包括自动标记条件

错误消息

策略缺少标记条件

描述

标记策略缺少自动标记条件。

分辨率

配置下列设置:

设置 配置设置的步骤
内容扫描作业设置 在 Azure 门户中执行以下操作:
标记策略设置 在Microsoft Purview 合规门户中,执行以下操作:

如果设置已定义为预期,则策略文件本身可能会丢失或无法访问,例如,当Microsoft Purview 合规门户超时时。

若要验证策略文件,请检查是否存在以下文件: %localappdata%\Microsoft\MSIP\mip\MSIP。Scanner.exe\mip\mip.policies.sqlite3

有关详细信息,请参阅什么是 Azure 信息保护统一标记扫描程序?了解敏感度标签

数据库错误

错误消息

DB 错误

描述

扫描程序无法连接到数据库。

分辨率

检查扫描程序计算机与数据库之间的网络连接。

此外,请确保用于运行扫描程序进程的服务帐户具有访问数据库所需的所有权限。

不匹配或过时的架构

错误消息

下列类型作之一:

  • SchemaMismatchException

  • 在Azure 门户的“节点”页上:

    DB 架构不是最新的。 运行 Update-ScannerDatabase 命令以更新 DB 架构
    错误:DB 架构不是最新的

描述

数据库架构不是最新的。

分辨率

运行 Update-ScannerDatabase cmdlet 以重新同步架构,并确保它与任何最近的更改保持最新。

基础连接已关闭

错误消息

System.Net.WebException:基础连接已关闭:发送时出现意外错误。 >--- System.IO.IOException:身份验证失败,因为远程方已关闭传输流。

[System.Net.Http.HttpRequestException:发送请求时出错。 >--- System.Net.WebException:基础连接已关闭:发送时发生意外错误。 >--- System.IO.IOException:无法从传输连接读取数据:远程主机强行关闭现有连接。 >--- System.Net.Sockets.SocketException:远程主机强行关闭了现有连接。

描述

这些错误表示未启用 TLS 1.2。

分辨率

若要启用 TLS 1.2,请参阅:

扫描程序进程停滞

错误消息

没有显示错误消息,但扫描程序超时。

描述

扫描程序正在处理单个文件的时间超过预期,或者在扫描存储库中的大量文件时意外停止。 扫描程序进程可能停滞不前。

分辨率

修改以下设置之一:

  • 动态端口数。 可能需要增加这些文件所在的操作系统的动态端口数。 SharePoint 的服务器强化可能是扫描程序超过允许的网络连接数和停止的原因之一。

    有关如何查看当前端口范围和增加范围的信息,请参阅 可修改的设置以提高网络性能

  • 列表视图阈值。 对于大型 SharePoint 场,可能需要增大列表视图阈值。 默认情况下,列表视图阈值设置为 5,000

    有关增加阈值的信息,请参阅 在 SharePoint 中管理大型列表和库。

如果问题仍然存在,请检查详细报告以确定文件的大小是否增大。

如果文件大小继续增加,则扫描程序仍在处理数据,并且必须等到数据完成。

如果文件不再增大大小,请执行以下操作:

  1. 运行以下 cmdlet:

    • Start-ScannerDiagnostics cmdlet:对扫描程序运行诊断检查,并导出和压缩日志文件,了解找到的任何错误。
    • Export-DebugLogs cmdlet:从 %localappdata%\Microsoft\MSIP\Logs 目录导出和创建日志文件.zip版本。
  2. 为 MSIP 扫描程序服务创建转储文件。 在 Windows 任务管理器中,右键单击 MSIP 扫描程序服务,然后选择“ 创建转储文件”。

  3. 在Azure 门户中,停止扫描。

  4. 在扫描程序计算机上,重启服务。

  5. 打开支持票证并从扫描程序进程附加转储文件。

无法连接到远程服务器

错误消息

在 %localappdata%\Microsoft\MSIP\Logs\下的 MSIPScanner.iplog 文件中:

无法连接到远程服务器---> System.Net.Sockets.SocketException:通常只允许每个套接字地址(协议/网络地址/端口)的一个用法(协议/网络地址/端口)

如果有多个日志,则 MSIPScanner.iplog 文件将是.zip文件。

描述

扫描程序已超过允许的网络连接数。

分辨率

增加托管文件的操作系统的动态端口数。

有关如何查看当前端口范围和增加范围的信息,请参阅 可修改的设置以提高网络性能

缺少内容扫描作业或配置文件

错误消息

在Azure 门户的“节点”页上:

找不到内容扫描作业

描述

找不到内容扫描作业或配置文件时,会出现此错误。

分辨率

在Azure 门户中检查扫描程序配置。

有关详细信息,请参阅配置和安装 Azure 信息保护统一标记扫描程序

注意:配置文件是旧版扫描程序术语,已在较新版本的扫描程序中由扫描程序群集和内容扫描作业替换。

未配置存储库

错误消息

在管理门户中的 “节点 ”页上:

未配置存储库

描述

可能具有未配置存储库的内容扫描作业。

分辨率

检查内容扫描作业设置并添加至少一个存储库。

有关详细信息,请参阅创建内容扫描作业

未找到群集

错误消息

在管理门户中的 “节点 ”页上:

未找到群集

描述

未找到已定义的扫描程序群集之一的实际匹配项。

分辨率

验证群集配置,并针对自己的系统详细信息检查是否有拼写错误和错误。

有关详细信息,请参阅 “创建扫描程序群集”。

详细信息

部署和使用 AIP UL 扫描程序的最佳做法。