适用于: 2013
2016
2019
Subscription Edition
SharePoint in Microsoft 365
可以在 SharePoint Server 中使用统一日志记录服务 (ULS) 日志中的数据来解决服务器场中的问题。根据日志记录设置,ULS 日志可收集不同级别的数据。可使用 PowerShell 筛选数据,以各种方式显示,并将数据输出到数据网格,通过该数据网格,可以筛选、排序、分组数据以及将数据导出到 Excel 2016。
使用 PowerShell 查看和筛选日志事件
可使用 PowerShell 查看和筛选日志事件。无法使用 SharePoint 管理中心网站查看或筛选日志事件。
使用 PowerShell 查看和筛选日志事件
- 确认您具有以下成员身份:
-
SQL Server 实例上的 securityadmin 固定服务器角色。
-
要更新的所有数据库上的 db_owner 固定数据库角色。
-
运行 PowerShell cmdlet 的服务器上的 Administrators 组。
管理员可以使用 Add-SPShellAdmin cmdlet 授予使用权限。
备注
如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin。
-
转到“SharePoint 命令行管理程序”。
-
在 PowerShell 命令提示符处,键入以下命令:
- 所有跟踪事件:
Get-SPLogEvent
- 按级别:
Get-SPLogEvent | Where-Object {$_.Level -eq "Information" }
- 按区域:
Get-SPLogEvent | Where-Object {$_.Area -eq
}
其中
是 Area 属性的值。
- 按类别:
Get-SPLogEvent | Where-Object {$_.Category -eq
其中
- 按事件 ID:
Get-SPLogEvent | Where-Object {$_.EventID -eq }
其中
- 按消息文本:
"}
" style="box-sizing: inherit; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 1em; direction: ltr; outline-color: inherit; line-height: 1.3571; border: 0px; display: block; padding: 0px; position: relative;">Get-SPLogEvent | Where-Object {$_.Message -like ""}
其中
- 按过程:
"}
" style="box-sizing: inherit; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 1em; direction: ltr; outline-color: inherit; line-height: 1.3571; border: 0px; display: block; padding: 0px; position: relative;">Get-SPLogEvent | Where-Object {$_.Process -like ""}
其中
默认情况下,该命令会从默认 ULS 日志文件夹中检索数据。若要查看和筛选网络上的共享文件夹上的跟踪事件,请使用 Get-SPLogEvent cmdlet 的 Directory 参数。
若要查看有关每个跟踪事件的详细信息,请在命令末尾处使用 Format-List 。例如,
Get-SPLogEvent | Where-Object {$_.Area -eq "SharePoint Foundation"} | Format-List
有关详细信息,请参阅 Get-SPLogEvent。
使用 PowerShell cmdlet 查看和导出Out-GridView日志
PowerShell 提供了一个强大且易于使用的功能,在一个单独的窗口中的可筛选、可搜索的数据网格中显示由 PowerShell 命令生成的表格数据。 可使用此网格来查看日志事件,以及对数据执行下列操作:
-
依据任何列排序数据。
-
查看组中的数据。
-
依据级别、区域、类别、消息、事件 ID 或时间戳来筛选数据。
-
搜索任意字符串数据。
-
将原始或已排序或已筛选数据导出到电子表格。
备注
[!注意] Out-GridView cmdlet 不能与使用 Format 动词的 cmdlet 一起使用。 Out-GridView cmdlet 用于接收对象,而使用 Format 动词的 cmdlet 只返回格式化文本。 > 可以使用筛选并将结果传递给 Out-GridView cmdlet 的 Where-Object cmdlet 来查看数据子集。例如, Get-SPLogEvent | Where-Object {$_.Area -eq "SharePoint Foundation"} | Out-GridView
。 > 如果网格显示的行超过几百,则运行速度可能会很慢,尤其是当执行复杂筛选操作时。为了提高性能,请将数据导出到 Excel 2016。
使用 Windows PowerShell 查看和筛选诊断日志的具体步骤
- 确认您具有以下成员身份:
-
SQL Server 实例上的 securityadmin 固定服务器角色。
-
要更新的所有数据库上的 db_owner 固定数据库角色。
-
运行 PowerShell cmdlet 的服务器上的 Administrators 组。
管理员可以使用 Add-SPShellAdmin cmdlet 授予使用权限。
备注
如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin。
-
转到“SharePoint 命令行管理程序”。
-
在 PowerShell 命令提示符处,键入以下命令:
Get-SPLogEvent | Out-GridView
-
若要对列进行排序,请单击列标题。
-
若要搜索特定字符串,请在"筛选"框中键入该字符串。将在所有列和所有行中执行搜索。若要清除搜索,请单击"X"。
-
若要仅根据一个条件筛选数据,在"搜索"框中 键入 以下内容
:: 。 For example, to search for all log entries raised by SharePoint Foundation 2013, type the following: Area:SharePoint Foundation. To clear the filter, click X. -
若要使用多个条件或使用具有“包含、起始为、结束于”的条件或其他方法筛选数据,请执行下列操作:
-
单击"添加条件"按钮。
-
单击要对其进行筛选的属性所对应的复选框,然后单击"添加"。
-
单击"包含"可改用其他筛选方法。可用的方法有"包含"、"不包含"、"起始为"、"等于"、"不等于"、"结束于"、"为空"和"非空"。
-
在文本框中键入值。
-
对在步骤“b”中选择的每个属性重复步骤“c”和“d”。
-
当指定所有筛选条件时,将显示满足条件的数据。
-
若要清除特定筛选器,请单击"X"按钮。
-
若要清除所有筛选器,请折叠查询视图并单击“全部清除”按钮。
将网格数据导出到电子表格的具体步骤
-
选择要导出的行。按住 Shift 同时拖动鼠标可选择多个行,按住 Ctrl 同时单击可选择特定行,按 Ctrl+A 可选择所有行。
还可在将数据复制到电子表格前筛选和排序结果。在排序或筛选数据时,只会复制生成的可视数据。
-
使用 Ctrl+C 复制所选行。
-
打开电子表格工作簿页,然后使用 Ctrl+V 将复制的行粘贴到其中。
有关详细信息,请参阅 Out-GridView 和 Out-GridView 已重新访问。