Merge-SPLogFile
適用版本: SharePoint Foundation 2010, SharePoint Server 2010
上次修改主題的時間: 2015-03-09
將所有伺服器陣列電腦中的追蹤記錄項目,合併為本機電腦中的單一記錄檔案。
Syntax
Merge-SPLogFile -Path <String> [-Area <String[]>] [-AssignmentCollection <SPAssignmentCollection>] [-Category <String[]>] [-ContextFilter <String[]>] [-Correlation <Guid[]>] [-EndTime <DateTime>] [-EventID <String[]>] [-ExcludeNestedCorrelation <SwitchParameter>] [-Level <String>] [-Message <String[]>] [-Overwrite <SwitchParameter>] [-Process <String[]>] [-StartTime <DateTime>] [-ThreadID <UInt32[]>]
詳細描述
Merge-SPLogFile Cmdlet 會傳回每部伺服器陣列伺服器之統一登入服務 (ULS) 追蹤記錄檔案中符合準則的記錄,並會將結果寫入本機電腦上的新記錄檔案。若未傳回任何結果,即會在 Windows PowerShell 主控台視窗中寫入警告。
建議您使用 StartTime 與 EndTime 參數加以篩選,將此 Cmdlet 的效能最佳化。有些篩選參數 (例如 Process、Area、Category、EventID 及 Message) 支援萬用字元。
如需 Windows PowerShell for SharePoint 產品的權限及最新資訊,請參閱線上說明文件 (https://go.microsoft.com/fwlink/?LinkId=163185)。
Parameters
參數 | 必要 | 輸入 | 描述 |
---|---|---|---|
Path |
必要 |
System.String |
指定寫入合併記錄檔案的路徑及檔案名稱。支援相對路徑。 |
Area |
選用 |
System.String[] |
指定要篩選的區域名稱。 此類型必須是有效的名稱,例如 SharePoint Foundation。 支援使用萬用字元。 |
AssignmentCollection |
選用 |
Microsoft.SharePoint.PowerShell.SPAssignmentCollection |
為能適當處置物件而管理物件。使用 SPWeb 或 SPSite 等物件可能會耗用大量的記憶體,因此在 Windows PowerShell 指令碼中使用這些物件時,必須適當地管理記憶體。您可以使用 SPAssignment 物件將物件指派給變數,並在不需要時處置這些物件,以釋放記憶體。使用 SPWeb、SPSite 或 SPSiteAdministration 物件時,若未使用指派集合或 Global 參數,將會自動處置這些物件。 注意 使用 Global 參數時,所有物件會包含在全域儲存區內。若未立即使用物件,或未使用 Stop-SPAssignment 命令處置物件,將會發生記憶體不足的狀況。 |
Category |
選用 |
System.String[] |
指定要篩選的類別識別碼。 此類型必須是有效的類別名稱,例如 category1。 支援使用萬用字元。 |
ContextFilter |
選用 |
System.String[] |
指定特定內容的追蹤項目篩選,格式為「機碼=值」,例如 user=contoso\joeuser。 |
Correlation |
選用 |
System.Guid[] |
指定要篩選的相互關聯識別碼。此類型必須是有效的 GUID,格式為 F0BB0790-4323-A153-096F-ABCDC80E24D4。 |
EndTime |
選用 |
System.DateTime |
指定記錄項目傳回的結束時間。 此類型必須是符合管理語言文化的有效 DateTime 格式,如美國英文的 2/16/2007 12:15:12。 |
EventID |
選用 |
System.String[] |
指定要篩選的事件識別碼。支援萬用字元的使用。 |
ExcludeNestedCorrelation |
選用 |
System.Management.Automation.SwitchParameter |
排除結果中的巢狀關聯值。唯有在使用 ContextFilter 參數篩選結果時,才使用此參數。 根據預設,除符合篩選的記錄外,從 ContextFilter 參數傳回的記錄預設還包括所有的相關記錄。指定此選項僅包括符合篩選的記錄,並會排除所有相關的記錄。 |
Level |
選用 |
System.String |
指定要篩選的等級名稱。 結果包括指定的等級及所有更嚴重的事項。 |
Message |
選用 |
System.String[] |
指定要篩選的訊息文字。 此類型必須是有效的文字。有空格的文字應以引號括住,例如 "This is a test"。 支援萬用字元的使用。 |
Overwrite |
不可以 |
System.Management.Automation.SwitchParameter |
記錄檔若位在指定的路徑,即予以覆寫。 此類型必須是下列其中一個值: - $True - $False 預設值為 $False。 |
Process |
選用 |
System.String[] |
指定要篩選的處理程序名稱。 支援使用萬用字元。 |
StartTime |
選用 |
System.DateTime |
指定記錄項目傳回的開始時間。 此類型必須是符合管理語言文化的有效 DateTime 格式,如美國英文的 2/16/2007 12:15:12。 預設為本機電腦目前時間的一小時前。 |
ThreadID |
選用 |
System.UInt32[] |
指定要篩選的執行緒識別碼。 此類型必須是從 0 到 4,294,967,295 之間的有效整數。 |
輸入類型
傳回類型
Example
--------------範例 1-----------------
Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite
此範例會合併所有伺服器陣列電腦中最後一小時的記錄資料,而不加以篩選。
--------------範例 2-----------------
Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -Area Search
此範例會合併 Search
區域中最後一小時的記錄資料。
--------------範例 3-----------------
Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -Area "SharePoint Foundation","Web Analytics Services"
此範例會合併 SharePoint Foundation
及 Web Analytics Services
區域中最後一小時的記錄資料。
--------------範例 4-----------------
Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -Level High
此範例會合併 High
等級 (含) 以上的記錄資料。
--------------範例 5-----------------
Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -StartTime "06/09/2008 16:00" - EndTime "06/09/2008 16:15"
此範例會合併特定時間範圍內的事件記錄資料,依美國的文化習慣而定。
--------------範例 6-----------------
Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -Message "*permission changed*"
此範例會合併訊息文字中具有 permission changed
的事件記錄資料。
--------------範例 7-----------------
Merge-SPLogFile -Overwrite -Path d:\1.log -ContextFilter "name=timer job*" -Area "*search*"
此範例會合併所有搜尋計時器工作中的記錄資料。
--------------範例 8-----------------
Merge-SPLogFile -Overwrite -Path d:\2.log -ContextFilter "user=contoso?joeuser"
此範例會針對具有 contoso\joeuser 或 Contoso/joeuser 格式的所有使用者名稱,顯示如何合併其記錄資料。