在 SharePoint Server 中檢視診斷記錄

適用于:yes-img-132013 yes-img-16 2016yes-img-192019 yes-img-se訂閱版本 no-img-sopMicrosoft 365 中的 SharePoint

您可以在 SharePoint Server 中,使用統一登入服務 (ULS) 記錄檔中的資料來針對伺服器陣列中的問題進行移難排解。 依據記錄設定,ULS 記錄檔可以收集各種不同層級的資料。 使用 PowerShell 篩選資料、以各種方式顯示資料,並可將資料輸出至資料格,然後用來將資料篩選、排序、分組以及匯出至 Excel 2016。

使用 PowerShell 檢視和篩選記錄事件

您可以使用 PowerShell 來檢視和篩選記錄事件。 您無法使用 SharePoint 管理中心網站來檢視或篩選記錄事件。

使用 PowerShell 檢視和篩選記錄事件

  1. 確認您具備下列成員身分:
  • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

  • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

  • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 來授與權限。

    注意事項

    [!附註] 如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。 如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  1. 移至 [SharePoint 管理命令介面]。

  2. 在 PowerShell 命令提示字元中,輸入下列命令:

  • 所有追蹤事件
Get-SPLogEvent
  • 依層級
Get-SPLogEvent | Where-Object {$_.Level -eq "Information" }
  • 依區域
Get-SPLogEvent | Where-Object {$_.Area -eq <Area>}

其中< Area >Area屬性的值。

  • 依類別
Get-SPLogEvent | Where-Object {$_.Category -eq <Category>

其中< Category >Category屬性的值。

  • 依事件識別碼
Get-SPLogEvent | Where-Object {$_.EventID -eq <EventID>}

其中< EventID >EventID屬性的值。

  • 依訊息文字
Get-SPLogEvent | Where-Object {$_.Message -like "<string>"}

其中< string >是事件訊息中找到的字串。

  • 依程序
Get-SPLogEvent | Where-Object {$_.Process -like "<Process>"}

其中< Process >Process屬性的值。

根據預設,該命令會從預設 ULS 記錄資料夾中擷取資料。 若要檢視及篩選網路上共用資料夾中的追蹤事件,請使用 Get-SPLogEvent Cmdlet 的 Directory 參數。

若要檢視各追蹤事件的詳細資料,請在命令結尾使用 Format-List Cmdlet。 例如,

Get-SPLogEvent | Where-Object {$_.Area -eq "SharePoint Foundation"} | Format-List

如需詳細資訊,請參閱<Get-SPLogEvent>。

使用 PowerShell Out-GridView Cmdlet 檢視和匯出診斷記錄

PowerShell 提供功能強大且容易使用的功能,可在不同的視窗中,以可篩選且可搜尋的資料方格顯示 PowerShell 命令所產生的表格式資料。 您可以使用此資料格檢視記錄事件,並可對資料執行下列作業:

  • 依任一欄排序資料。

  • 以群組檢視資料。

  • 依層級、區域、類別、訊息、事件識別碼或時間戳記篩選資料。

  • 搜尋資料中的任何字串。

  • 將列或經排序或篩選的資料匯出至試算表。

注意事項

[!附註] Out-GridView Cmdlet 不能與使用 Format 動詞的 Cmdlet 搭配使用。 Out-GridView Cmdlet 會接收物件,而使用 Format 動詞的 Cmdlet 只會傳回格式化的文字。 > 您可以使用 Where-Object Cmdlet 來篩選結果並將結果傳遞至 Out-GridView Cmdlet,以檢視資料的子集。 例如,Get-SPLogEvent | Where-Object {$_.Area -eq "SharePoint Foundation"} | Out-GridView。 > 如果方格顯示數百個以上的資料列,則執行速度可能會很慢,特別是在執行複雜的篩選作業時。 若要加速效能,請將資料匯出至 Excel 2016。

若要使用 Windows PowerShell 檢視及篩選診斷記錄

  1. 確認您具備下列成員身分:
  • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

  • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

  • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 來授與權限。

    注意事項

    [!附註] 如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。 如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  1. 移至 [SharePoint 管理命令介面]。

  2. 在 PowerShell 命令提示字元中,輸入下列命令:

Get-SPLogEvent | Out-GridView
  1. 若要排序欄,請按一下欄標題。

  2. To search for a specific string, type the string in the Filter box. Search is performed over all columns and rows. To clear the search, click X.

  3. To filter data on only one criterion, type the following in the Search box: <property name>:<value>. 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.

  4. 若要使用多個準則,或是使用具有「包含、開始於、結束於」或其他方法的準則篩選資料:

  5. 按一下 [新增準則] 按鈕。

  6. 按一下您要篩選之屬性的核取方塊,然後按一下 [新增]

  7. Click contains to change to a different filter method. The methods that are available are contains, does not contain, starts with, equals, does not equal, ends with, is empty, and is not empty.

  8. 在文字方塊中輸入值。

  9. 針對您在步驟 “b” 中選取的每個屬性,重複步驟 “c” 及 “d”。

  10. 指定所有篩選準則之後,隨即顯示符合準則的資料。

  11. 若要清除特定篩選,請按一下 [X] 按鈕。

  12. 若要清除所有篩選,請摺疊查詢檢視,然後按一下 [全部清除] 按鈕。

將資料格的資料匯出至試算表

  1. 選取您要匯出的列。 若要選取多列,請按住 Shift 鍵再拖曳以選取一個區塊的列、按住 Ctrl 鍵再按一下滑鼠以選取特定列,或使用 Ctrl+A 以選取所有列。

    您也可以先篩選及排序結果,再將資料複製到試算表中。 當您排序或篩選資料時,只會複製所產生之可檢視的資料。

  2. 使用 Ctrl+C 複製所選列。

  3. 開啟試算表活頁簿頁面,然後使用 Ctrl+V 貼入複製的列。

如需詳細資訊,請參閱 Out-GridViewOut-GridView 重新流覽