16Aug

Hoe u uw opdrachtgeschiedenis gebruikt in Windows PowerShell

click fraud protection

Windows PowerShell heeft een ingebouwde functie voor opdrachtgeschiedenis met gedetailleerde informatie over de opdrachten die u hebt uitgevoerd. Net als de opdrachtprompt, onthoudt PowerShell alleen uw opdrachtgeschiedenis voor de huidige sessie.

Gebruik van de opdrachtregelbuffer

PowerShell heeft technisch twee soorten opdrachthistorie. Ten eerste is er de opdrachtregelbuffer, die eigenlijk deel uitmaakt van de grafische PowerShell-terminaltoepassing en geen onderdeel is van de onderliggende Windows PowerShell-toepassing. Het biedt enkele basisfuncties:

  • Pijl omhoog : Roep de vorige opdracht op die u hebt getypt. Druk herhaaldelijk op de toets om uw opdrachtgeschiedenis te doorlopen.
  • Pijl omlaag : Roep de volgende opdracht op die u hebt getypt. Druk herhaaldelijk op de toets om uw opdrachtgeschiedenis te doorlopen.
  • F8 : Zoek in uw opdrachtgeschiedenis naar een opdracht die overeenkomt met de tekst op de huidige opdrachtregel. Dus, als je wilde zoeken naar een commando dat begon met "p", zou je "p" typen op de opdrachtregel en dan herhaaldelijk op F8 tikken om door opdrachten in je geschiedenis te gaan die beginnen met "a".
    instagram viewer

Standaard onthoudt de buffer de laatste 50 opdrachten die u hebt getypt. Om dit te wijzigen, klikt u met de rechtermuisknop op de titelbalk van het PowerShell-promptvenster, selecteert u 'Eigenschappen' en wijzigt u de waarde van 'Buffergrootte' onder Commandhistorie.

PowerShell-geschiedenis weergeven

Windows PowerShell zelf houdt een geschiedenis bij van de opdrachten die u in de huidige PowerShell-sessie hebt ingevoerd. U kunt verschillende cmdlets gebruiken om uw geschiedenis te bekijken en ermee te werken.

Voer de volgende cmdlet uit om de geschiedenis te bekijken van de opdrachten die u hebt getypt:

Get-History

U kunt uw geschiedenis doorzoeken door de resulterende uitvoer naar de cmdlet Select-String te pipen en de tekst op te geven waarnaar u wilt zoeken. Vervang "Voorbeeld" in de cmdlet hieronder door de tekst waarnaar u wilt zoeken:

Get-History |Select-String -Pattern "Voorbeeld"

Als u een gedetailleerdere opdrachtgeschiedenis wilt bekijken met de uitvoeringsstatus van elke opdracht, samen met de begin- en eindtijden, voert u de volgende opdracht uit:

Get-History |Opmaak-lijst -eigenschap *

Standaard toont de geschiedenis-cmdlet de 32 meest recente geschiedenisitems. Als u een groter aantal geschiedenisitems wilt bekijken of zoeken, gebruikt u de -Countoptie om op te geven hoeveel geschiedenisvermeldingen PowerShell moet worden weergegeven, zoals:

Get-History-Count 1000 Get-History -Count 1000 |Select-String -Pattern "Voorbeeld" Get-History-Count 1000 |Opmaaklijst -eigenschap *

Opdrachten uitvoeren vanuit uw geschiedenis

Om een ​​opdracht uit uw geschiedenis uit te voeren, gebruikt u de volgende cmdlet en geeft u het Id-nummer van het geschiedenisitem op dat wordt getoond in de cmdlet Get-History: Invorderingsgeschiedenis van de

#

Als u twee opdrachten uit uw geschiedenis van achteren naar achteren wilt uitvoeren, gebruikt u Invoke-History tweemaal op dezelfde regel, gescheiden door een puntkomma. Als u bijvoorbeeld snel de eerste opdracht in uw geschiedenis en vervolgens de tweede opdracht wilt uitvoeren, voert u het volgende uit:

Invoke-History 1; Invoke-History 2

Uw PowerShell-geschiedenis wissen

De geschiedenis van de door u getypte opdrachten wissen, voer de volgende cmdlet uit:

Clear-History

Houd er rekening mee dat de opdrachtregelbuffer niet overeenkomt met de PowerShell-geschiedenis. Dus zelfs nadat u de Geschiedenis wissen hebt uitgevoerd, kunt u doorgaan met het indrukken van de pijltoetsen omhoog en omlaag om door de getypte opdrachten te bladeren. Als u echter Get-geschiedenis uitvoert, ziet u dat uw PowerShell-geschiedenis in feite leeg is.

PowerShell onthoudt uw geschiedenis niet tussen sessies. Om beide opdrachtgeschiedenissen voor de huidige sessie te wissen, hoeft u alleen maar het PowerShell-venster te sluiten.

Als u het PowerShell-venster wilt wissen nadat u de geschiedenis hebt gewist, kunt u dit doen door de opdracht Wissen uit te voeren:

Wissen

Uw PowerShell-geschiedenis opslaan en importeren

Als u de PowerShell-opdrachtgeschiedenis wilt opslaan voor de huidigesessie zodat u er later naar kunt verwijzen, dan kunt u dat doen.

Get-History |Export-Clixml -Path c: \ users \ naam \ desktop \ commands.xml

Dit exporteert uw opdrachthistorie als een gedetailleerd XML-bestand compleet met "StartExecutionTime" en "EndExecutionTime" -waarden voor elke opdracht die u vertelt wanneer de opdracht werd uitgevoerd enhoe lang het duurde om te voltooien.

Als u uw PowerShell-geschiedenis eenmaal naar een dergelijk XML-bestand hebt geëxporteerd, kunt u( of iemand anders naar wie u het XML-bestand verzendt) het importeren naar een andere PowerShell-sessie met de cmdlet Add-History:

Add-History -InputObject( Import-Clixml -Path C: \ users \ naam \ desktop \ commands.xml)

Als u de cmdlet Get-History uitvoert na het importeren van een dergelijk XML-bestand, ziet u dat de opdrachten uit de XMLbestand is geïmporteerd in de geschiedenis van uw huidige PowerShell-sessie.