在 SharePoint Server 中檢視診斷記錄
**適用版本:**SharePoint Server 2016
**上次修改主題的時間:**2017-08-08
**摘要:**學習使用 Windows PowerShell 檢視和篩選記錄事件,以及使用 Out-GridView Cmdlet 檢視和匯出診斷記錄。
您可以在 SharePoint Server 中,使用統一登入服務 (ULS) 記錄檔中的資料來針對伺服器陣列中的問題進行移難排解。依據記錄設定,ULS 記錄檔可以收集各種不同層級的資料。使用 PowerShell 篩選資料、以各種方式顯示資料,並可將資料輸出至資料格,然後用來將資料篩選、排序、分組以及匯出至 Excel 2016。
本文內容:
本文內容
使用 Windows PowerShell 檢視和篩選記錄事件
使用 Windows PowerShell Out-GridView Cmdlet 檢視和匯出診斷記錄
使用 Windows PowerShell 檢視及篩選記錄事件
您可以使用 PowerShell 檢視及篩選記錄事件,但不可使用 SharePoint 管理中心網站檢視或篩選記錄事件。
使用 Windows PowerShell 檢視及篩選記錄事件
確認您具備下列成員資格:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
系統管理員可以使用 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>}
其中,<區域> 是 Area 屬性的值。
依類別:
Get-SPLogEvent | Where-Object {$_.Category -eq <Category>
其中,<類別> 是 Category 屬性的值。
依事件識別碼:
Get-SPLogEvent | Where-Object {$_.EventID -eq <EventID>}
其中,<事件識別碼> 是 EventID 屬性的值。
依訊息文字:
Get-SPLogEvent | Where-Object {$_.Message -like "<string>"}
其中,<字串> 是在事件訊息中找到的字串。
依程序:
Get-SPLogEvent | Where-Object {$_.Process -like "<Process>"}
其中,<程序> 是 Process 屬性的值。
根據預設,該命令會從預設 ULS 記錄資料夾中擷取資料。若要檢視及篩選網路上共用資料夾中的追蹤事件,請使用 Get-SPLogEvent Cmdlet 的 Directory 參數。
若要檢視各追蹤事件的詳細資料,請在命令結尾使用 Format-List Cmdlet。例如,
Get-SPLogEvent | Where-Object {$_.Area -eq "SharePoint Foundation"} | Format-List
如需詳細資訊,請參閱<Get-SPLogEvent>。
使用 Windows PowerShell Out-GridView Cmdlet 檢視及匯出診斷記錄
PowerShell 提供強大且便於使用的功能,在個別的視窗中以可篩選、可搜尋的資料格,顯示 Microsoft 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 檢視及篩選診斷記錄
確認您具備下列成員資格:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 來授與權限。
注意
如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
移至 [SharePoint 管理命令介面]。
在 PowerShell 命令提示字元處,輸入下列命令:
Get-SPLogEvent | Out-GridView
若要排序欄,請按一下欄標題。
若要搜尋特定字串,請在 [篩選] 方塊中輸入字串。將會對所有欄和列進行搜尋。若要清除搜尋,請按一下 [X]。
若只要依據一個準則篩選資料,請在 [搜尋] 方塊中輸入:<屬性名稱>:<值>。例如,若要搜尋 SharePoint Foundation 2013 引發的所有記錄項目,請輸入:Area:SharePoint Foundation。若要清除篩選,請按一下 [X]。
若要使用多個準則,或是使用具有「包含、開始於、結束於」或其他方法的準則篩選資料:
按一下 [新增準則] 按鈕。
按一下您要篩選之屬性的核取方塊,然後按一下 [新增]。
按一下 [包含] 變更為不同的篩選方法。可用的方法包括 [包含]、[不包含]、[開始於]、[等於]、[不等於]、[結束於]、[是空的] 及 [不是空的]。
在文字方塊中輸入值。
針對您在步驟 “b” 中選取的每個屬性,重複步驟 “c” 及 “d”。
指定所有篩選準則之後,隨即顯示符合準則的資料。
若要清除特定篩選,請按一下 [X] 按鈕。
若要清除所有篩選,請摺疊查詢檢視,然後按一下 [全部清除] 按鈕。
將資料格的資料匯出至試算表
選取您要匯出的列。若要選取多列,請按住 Shift 鍵再拖曳以選取一個區塊的列、按住 Ctrl 鍵再按一下滑鼠以選取特定列,或使用 Ctrl+A 以選取所有列。
您也可以先篩選及排序結果,再將資料複製到試算表中。當您排序或篩選資料時,只會複製所產生之可檢視的資料。
使用 Ctrl+C 複製所選列。
開啟試算表活頁簿頁面,然後使用 Ctrl+V 貼入複製的列。
如需詳細資訊,請參閱<Out-GridView>(https://go.microsoft.com/fwlink/p/?LinkId=181248) 和<Out-GridView Revisited>(https://go.microsoft.com/fwlink/p/?LinkId=181249)。