Sdílet prostřednictvím


Add-History

Připojí položky do historie relace.

Syntax

Default (Výchozí)

Add-History
    [[-InputObject] <PSObject[]>]
    [-Passthru]
    [<CommonParameters>]

Description

Rutina Add-History přidá položky na konec historie relace, tj. seznam příkazů zadaných během aktuální relace.

Historie relací je seznam příkazů zadaných během relace. Historie relace představuje pořadí spuštění, stav a čas zahájení a ukončení příkazu. Při zadávání každého příkazu ho PowerShell přidá do historie, abyste ho mohli znovu použít. Další informace o historii sezení najdete v about_History.

Historie relací se spravuje odděleně od historie spravované modulem PSReadLine. Obě historie jsou k dispozici v relacích, kde je načten modul PSReadLine. Tento cmdlet funguje jenom s historií relace. Další informace naleznete v about_PSReadLine.

Rutinu Get-History můžete použít k získání příkazů a jejich předání do Add-Historynebo můžete příkazy exportovat do souboru CSV nebo XML, pak importovat příkazy a předat importovaný soubor Add-History. Pomocí této rutiny můžete do historie přidat konkrétní příkazy nebo vytvořit jeden soubor historie, který obsahuje příkazy z více než jedné relace.

Příklady

Příklad 1: Přidání příkazů do historie jiné relace

Tento příklad přidá příkazy zadané v jedné relaci PowerShellu do historie jiné relace PowerShellu.

Get-History | Export-Csv -Path C:\testing\history.csv -IncludeTypeInformation
Import-Csv -Path C:\testing\history.csv | Add-History

První příkaz získá objekty představující příkazy v historii a exportuje je do History.csv souboru.

Druhý příkaz je zadán na příkazovém řádku jiné relace. K importu objektů v souboru Import-Csv používá rutinu History.csv. Operátor kanálu (|) předá objekty do rutiny Add-History, která přidá objekty představující příkazy v souboru History.csv do aktuální historie relací.

Příklad 2: Import a spuštění příkazů

Tento příklad importuje příkazy ze souboru History.xml, přidá je do aktuální historie relací a potom spustí příkazy v kombinované historii.

Import-Clixml -Path C:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}

První příkaz používá rutinu Import-Clixml k importu historie příkazů, která byla exportována do souboru History.xml. Operátor kanálu předá příkazy do rutiny Add-History, která přidá příkazy do aktuální historie relací. Parametr PassThru předá objekty představující přidané příkazy dále v kanálu.

Příkaz pak použije rutinu ForEach-Object k použití příkazu Invoke-History pro každý z příkazů v kombinované historii. Příkaz Invoke-History je formátovaný jako blok skriptu uzavřený ve složených závorkách ({}), jak to vyžaduje parametr Process rutiny ForEach-Object.

Příklad 3: Přidání příkazů v historii na konec historie

Tento příklad přidá prvních pět příkazů v historii na konec seznamu historie.

Get-History -Id 5 -Count 5 | Add-History

Cmdlet Get-History získá pět příkazů končících s příkazem číslo 5. Operátor kanálu je předá příkazu Add-History, který je přidá k aktuálnímu seznamu historie. Příkaz Add-History neobsahuje žádné parametry, ale PowerShell přidruží objekty předané potrubím k parametru InputObjectAdd-History.

Příklad 4: Přidání příkazů do souboru .csv do aktuální historie

Tento příklad přidá příkazy ze souboru History.csv do aktuální historie relace.

$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru

Rutina Import-Csv importuje příkazy v souboru History.csv a uloží jeho obsah do proměnné $a.

Druhý příkaz používá rutinu Add-History k přidání příkazů z History.csv do aktuální historie relace. Pomocí parametru InputObject určuje proměnnou $a a parametr PassThru k vygenerování objektu, který se zobrazí na příkazovém řádku. Bez parametru PassThru nevygeneruje rutina Add-History žádný výstup.

Příklad 5: Přidání příkazů do souboru .xml do aktuální historie

Tento příklad přidá příkazy v souboru history.xml do historie aktuální relace.

Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)

Parametr InputObject předá výsledky příkazu v závorkách do rutiny Add-History. Příkaz v závorkách, který se spustí jako první, naimportuje soubor history.xml do PowerShellu. Cmdlet Add-History pak přidá příkazy ze souboru do historie relace.

Parametry

-InputObject

Určuje pole položek, které se přidají do historie jako objekt HistoryInfo do historie relace. Tento parametr můžete použít k odeslání objektu HistoryInfo, například objektů vrácených rutinami Get-History, Import-Clixmlnebo Import-Csv, do Add-History.

Vlastnosti parametru

Typ:

PSObject[]

Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:0
Povinné:False
Hodnota z kanálu:True
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Passthru

Označuje, že tato rutina vrátí objekt HistoryInfo pro každou položku historie. Ve výchozím nastavení tato rutina negeneruje žádný výstup.

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

HistoryInfo

Do této cmdletu můžete předat objekt HistoryInfo.

Výstupy

None

Ve výchozím nastavení tato rutina nevrací žádný výstup.

HistoryInfo

Pokud použijete parametr PassThru, vrátí tato rutina objekt HistoryInfo.

Poznámky

Historie relace je seznam příkazů zadaných během relace společně s ID. Historie relace představuje pořadí spuštění, stav a čas zahájení a ukončení příkazu. Při zadávání každého příkazu ho PowerShell přidá do historie, abyste ho mohli znovu použít. Další informace o historii sezení najdete v about_History.

Chcete-li zadat příkazy, které chcete přidat do historie, použijte parametr InputObject. Příkaz Add-History přijímá pouze HistoryInfo objekty, jako jsou například objekty vrácené pro každý příkaz rutinou Get-History. Nelze jí předat cestu a název souboru ani seznam příkazů.

Pomocí parametru InputObject můžete předat soubor objektů HistoryInfo do Add-History. K tomu exportujte výsledky příkazu Get-History do souboru pomocí rutiny Export-Csv nebo Export-Clixml a pak soubor naimportujte pomocí rutin Import-Csv nebo Import-Clixml. Pak můžete předat soubor importovaných objektů HistoryInfo přes kanál nebo do proměnné Add-History. Další informace najdete v příkladech.

Soubor objektů HistoryInfo, které předáte rutině Add-History, musí obsahovat informace o typech, záhlaví sloupců a všechny vlastnosti objektů HistoryInfo. Pokud chcete předat objekty zpět do Add-History, nepoužívejte parametr NoTypeInformation rutiny Export-Csv a neodstraňujte informace o typu, záhlaví sloupců ani žádná pole v souboru.

Pokud chcete upravit historii relací, exportujte relaci do souboru CSV nebo XML, upravte soubor, importujte soubor a pomocí Add-History ho připojte k aktuální historii relací.