Dela via


Invoke-History

Kör kommandon från sessionshistoriken.

Syntax

Invoke-History
      [[-Id] <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Cmdleten Invoke-History kör kommandon från sessionshistoriken. Du kan skicka objekt som representerar kommandona från Get-History till Invoke-History, eller så kan du identifiera kommandon i den aktuella historiken med hjälp av deras ID nummer. Om du vill hitta identifieringsnumret för ett kommando använder du cmdleten Get-History.

Sessionshistoriken hanteras separat från historiken som underhålls av modulen PSReadLine. Båda historikerna är tillgängliga i sessioner där PSReadLine- läses in. Den här cmdleten fungerar bara med sessionshistoriken. Mer information finns i about_PSReadLine.

Exempel

Exempel 1: Kör det senaste kommandot i historiken

Det här exemplet kör det sista eller senaste kommandot i sessionshistoriken. Du kan förkorta det här kommandot som r, aliaset för Invoke-History.

Invoke-History

Exempel 2: Kör kommandot som har ett angivet ID

I det här exemplet körs kommandot i sessionshistoriken med ID 132. Eftersom namnet på parametern ID är valfritt kan du förkorta det här kommandot som följande: Invoke-History 132, ihy 132eller r 132.

Invoke-History -Id 132

Exempel 3: Kör det senaste kommandot med hjälp av kommandotexten

Det här exemplet kör det senaste kommandot Get-Process i sessionshistoriken. När du skriver tecken för parametern ID kör Invoke-History det första kommandot som det hittar som matchar mönstret, från och med de senaste kommandona.

Invoke-History -Id get-pr

Not

Mönstermatchning är skiftlägesokänsligt, men mönstret matchar början av raden.

Exempel 4: Kör en sekvens med kommandon från historiken

Det här exemplet kör kommandona 16 till och med 24. Eftersom du bara kan visa ett ID- värde använder kommandot cmdleten ForEach-Object för att köra kommandot Invoke-History en gång för varje -ID värde.

16..24 | ForEach-Object {Invoke-History -Id $_ }

Exempel 5

Det här exemplet kör de sju kommandona i historiken som slutar med kommando 255 (249 till 255). Den använder cmdleten Get-History för att hämta kommandona. Eftersom du bara kan visa ett ID- värde använder kommandot cmdleten ForEach-Object för att köra kommandot Invoke-History en gång för varje -ID värde.

Get-History -Id 255 -Count 7 | ForEach-Object {Invoke-History -Id $_.Id}

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Id

Anger ID för ett kommando i historiken. Du kan ange Id-nummer på kommandot eller de första tecknen i kommandot.

Om du skriver tecken matchar Invoke-History de senaste kommandona först. Om du utelämnar den här parametern kör Invoke-History det sista eller senaste kommandot. Använd cmdleten för att hitta Get-History antal kommandon.

Typ:String
Position:0
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-WhatIf

Visar vad som skulle hända om cmdleten körs. Cmdleten körs inte.

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

String

Du kan skicka en historik ID till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga egna utdata, men de kommandon som körs kan returnera egna utdata.

Kommentarer

PowerShell innehåller följande alias för Invoke-History:

  • Alla plattformar:
    • ihy
    • r

Sessionshistoriken är en lista över de kommandon som angavs under sessionen. Sessionshistoriken representerar exekveringsordningen, statusen och start- och sluttiderna för kommandot. När du anger varje kommando lägger PowerShell till det i historiken så att du kan återanvända det. Mer information om sessionshistoriken finns i about_History.