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 PSReadLine-modulen . 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

Det här exemplet kör kommandot i sessionshistoriken med ID 132. Eftersom namnet på Id-parametern ä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 Get-Process kommandot i sessionshistoriken. När du skriver tecken för ID-parametern Invoke-History kör du det första kommandot som den hittar som matchar mönstret, med början med de senaste kommandona.

Invoke-History -Id get-pr

Kommentar

Mönstermatchning är skiftlägeskä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 Invoke-History för att köra kommandot 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 lista ett ID-värde använder kommandot cmdleten ForEach-Object Invoke-History för att köra kommandot 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 skriva ID-numret för kommandot eller de första tecknen i kommandot.

Om du skriver tecken Invoke-History matchar de senaste kommandona först. Om du utelämnar den här parametern Invoke-History kör du det sista eller senaste kommandot. Om du vill hitta ID-numret för ett kommando använder du cmdletenGet-History.

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ördes. 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 ett 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 körningsordningen, 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.