Add-History
將項目附加至工作階段歷程記錄。
Syntax
Add-History
[[-InputObject] <PSObject[]>]
[-Passthru]
[<CommonParameters>]
Description
Cmdlet Add-History
會將專案新增至會話歷程記錄的結尾,也就是在目前會話期間輸入的命令清單。
您可以使用 Get-History
Cmdlet 取得命令並將其傳遞至 Add-History
,或者您可以將命令匯出至 CSV 或 XML 檔案,然後匯入命令,然後將匯入的檔案傳遞至 Add-History
。
您可以使用此 Cmdlet 將特定的命令新增至歷程記錄,或建立包含來自多個工作階段之命令的單一歷程記錄檔案。
範例
範例 1:將命令新增至不同會話的歷程記錄
# Get objects representing the commands in the history and exports them to the History.csv file.
Get-History | Export-Csv c:\testing\history.csv
# Use the `Import-Csv` cmdlet to import the objects in the History.csv file.
Import-Csv history.csv | Add-History
這些命令會將某個 Windows PowerShell 工作階段輸入的命令新增至其他 Windows PowerShell 工作階段的歷程記錄。 第二個命令是在不同工作階段的命令列中輸入。
管線運算符 |
會將 對象傳遞至 Add-History
Cmdlet,此 Cmdlet 會將代表 History.csv 檔案中命令的物件新增至目前的會話歷程記錄。
範例 2:匯入和執行命令
Import-Clixml c:\temp\history.xml | Add-History -Passthru | ForEach-Object -Process {Invoke-History}
此命令會從 History.xml 檔案匯入命令、將它們新增至目前的會話歷程記錄,然後在合併的歷程記錄中執行命令。
Cmdlet 會 Import-Clixml
匯入匯出至 History.xml 檔案的命令歷程記錄。
管線運算符會將命令傳遞至 Add-History
Cmdlet,以將命令新增至目前的會話歷程記錄。
PassThru 參數會將代表新增命令的對象傳遞至管線。
的 ForEach-Object
Cmdlet 會將 Invoke-History
命令套用至合併歷程記錄中的每個命令。
此命令Invoke-History
會格式化為腳本區塊,並以大括弧括住,如 Cmdlet 的 ForEach-Object
Process 參數所要求。
範例 3:將歷程記錄中的命令新增至歷程記錄結尾
Get-History -Id 5 -Count 5 | Add-History
此命令將歷程記錄中的前五個命令新增至歷程記錄清單的結尾。
它會使用 Get-History
Cmdlet 來取得結束於命令 5 的五個命令。
管線運算符會將它們傳遞至 Add-History
Cmdlet,以將它們附加至目前的歷程記錄。
Add-History
此命令不包含任何參數,但 Windows PowerShell 會將透過管線傳遞的物件與的 InputObject 參數Add-History
產生關聯。
範例 4:將 .csv 檔案中的命令新增至目前的歷程記錄
$a = Import-Csv c:\testing\history.csv
Add-History -InputObject $a -PassThru
這些命令將 History.csv 檔案的命令新增至目前的工作階段歷程記錄。
第一個命令會 Import-Csv
使用 Cmdlet 匯入 History.csv 檔案中的命令,並將其內容儲存在變數 $a
中。
第二個命令會 Add-History
使用 Cmdlet,將命令從 History.csv 新增至目前的會話歷程記錄。
它使用 InputObject 參數指定 $a 變數,及使用 PassThru 參數產生顯示在命令列的物件。
如果沒有 PassThru 參數, Add-History
Cmdlet 不會產生任何輸出。
範例 5:將 .xml 檔案中的命令新增至目前的歷程記錄
Add-History -InputObject (Import-Clixml c:\temp\history01.xml)
此命令將 History01.xml 檔案中的命令新增至目前的工作階段歷程記錄。
它會使用 InputObject 參數,將括弧中的命令結果傳遞至 Add-History
Cmdlet。
括號中的命令 (會優先執行) 會將 History01.xml 檔案匯入 Windows PowerShell。 接著,Cmdlet Add-History
會將檔案中的命令新增至會話歷程記錄。
參數
-InputObject
指定要新增至歷程記錄做為 HistoryInfo 物件至工作階段記錄的項目陣列。
您可以使用此參數將 HistoryInfo 物件, 例如 、 Import-Clixml
或 Import-Csv
Cmdlet 所Get-History
傳回的記錄物件提交至 Add-History
。
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Passthru
表示此 Cmdlet 會針對每個記錄專案傳回歷程記錄物件。 根據預設,此 Cmdlet 不會產生任何輸出。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
您可以使用管線將 HistoryInfo 物件傳送至此 Cmdlet。
輸出
None or Microsoft.PowerShell.Commands.HistoryInfo
如果您指定 PassThru 參數,此 Cmdlet 會傳回 HistoryInfo 物件。 否則,此 Cmdlet 不會產生任何輸出。
備註
會話歷程記錄是會話期間輸入的命令清單,以及標識符。 工作階段歷程記錄代表命令的執行順序、狀態及開始和結束時間。 當您輸入每個命令時,Windows PowerShell 會將它新增至歷程記錄,以便您可以重複使用。 如需會話歷程記錄的詳細資訊,請參閱 about_History。
如果要指定要新增至歷程記錄的命令,請使用 InputObject 參數。 此命令
Add-History
只接受 HistoryInfo 物件,例如 Cmdlet 針對每個命令傳回的物件Get-History
。 您無法傳送路徑和檔案名稱或命令清單給它。您可以使用 InputObject 參數將 HistoryInfo 物件的檔案傳遞至
Add-History
。 若要這樣做,請使用 或Export-Clixml
Cmdlet 將命令的結果Get-History
匯出至檔案Export-Csv
,然後使用 或Import-Clixml
Cmdlet 匯入檔案Import-Csv
。 然後,您可以透過管線或變數,將匯入 之 HistoryInfo 物件的檔案傳遞至Add-History
。 如需詳細資訊,請參閱範例。您傳遞至
Add-History
Cmdlet 的 HistoryInfo 物件檔案必須包含類型資訊、數據行標題,以及 HistoryInfo 物件的所有屬性。 如果您想要將對象傳回 ,Add-History
請勿使用 Cmdlet 的Export-Csv
NoTypeInformation 參數,也不會刪除檔案中的類型資訊、數據行標題或任何字段。 若要修改會話歷程記錄,請將會話匯出至 CSV 或 XML 檔案、修改檔案、匯入檔案,並使用Add-History
將其附加至目前的會話歷程記錄。