- - Hoe krijg je de PowerShell-opdrachtgeschiedenis op Windows 10

De geschiedenis van de PowerShell-opdracht krijgen op Windows 10

PowerShell op Windows 10 kan je een geschiedenis gevenvan elke opdracht die u in de huidige sessie hebt uitgevoerd, is dit voor veel gebruikers echter niet voldoende. Ze hebben een geschiedenis nodig van opdrachten die tijdens sessies worden uitgevoerd. Als u de geschiedenis van de PowerShell-opdracht nodig hebt en geschiedenis alleen voor de huidige sessie niet werkt, is er een script en een logbestand dat u kan helpen.

Opdrachtgeschiedenis Huidige sessie

Als u PowerShell 5 gebruikt, kunt u de opdrachtgeschiedenis voor de huidige sessie ophalen door de volgende opdracht uit te voeren;

Get-History

PowerShell kan standaard maximaal 50 opdrachten opslaanmaar je kunt het wijzigen om meer te besparen. Open PowerShell en klik met de rechtermuisknop op de titelbalk. Ga vanuit het contextmenu naar Eigenschappen. Ga in het venster Eigenschappen naar het tabblad Opties. U ziet een gedeelte Opdrachtgeschiedenis waar de standaardwaarde is ingesteld op 50. Wijzig deze in een hogere waarde.

PowerShell-geschiedenislogboek

Om het geschiedenislogboek te bekijken, moet u eerst de PSReadLine-module installeren met de volgende opdracht;

Install-Module PSReadLine

Voer vervolgens de volgende opdracht uit en deze retourneert een bestandslocatie. Het bestand op deze locatie geeft u een volledige geschiedenis van elke opdracht die u in PowerShell uitvoert.

(Get-PSReadlineOption).HistorySavePath

Cross-Session PowerShell-opdrachtgeschiedenis

Dit is een beetje een lang proces, maar het is het waard. Deze oplossing komt van Intel. Open eerst de volgende locatie en controleer of er een bestand met de naam Microsoft.PowerShell_profile.ps1 op deze locatie staat.

C:Users<username>DocumentsWindowsPowerShell

Als er geen bestand is, open PowerShell en voer het uithet volgende commando. Het opent uw profielbestand in Kladblok, maar dat bestand bestaat niet en PowerShell zal u zoveel vertellen en vragen of u het wilt maken. Laat het het bestand maken.

notepad $Profile

Sluit het Kladblok-bestand dat wordt geopend. Voer in PowerShell deze opdracht uit om te controleren of u PowerShell 5 uitvoert.

$PSVersionTable.PSVersion

Stel vervolgens uw uitvoeringsbeleid in op RemoteSigned met de volgende opdracht.

set-executionpolicy remotesigned

Vervolgens moet u de PsUrl en installerenPSReadline-modules. Je kunt ze echter installeren met de volgende opdracht als je een foutmelding krijgt, installeer ze gewoon handmatig volgens het proces dat op de gekoppelde pagina's wordt beschreven, of probeer de repository toe te voegen als een vertrouwde repository en voer de opdracht vervolgens opnieuw uit.

install-module PsUrl
install-module PSReadline

Nu deze modules zijn geïnstalleerd, opent u dit bestand;

C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1

Plak het volgende in dit bestand en sla het op.

$HistoryFilePath = Join-Path ([Environment]::GetFolderPath("UserProfile")) .ps_history
Register-EngineEvent PowerShell.Exiting -Action { Get-History | Export-Clixml $HistoryFilePath } | out-null
if (Test-path $HistoryFilePath) { Import-Clixml $HistoryFilePath | Add-History }
# if you don"t already have this configured...
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

Om de opdrachtgeschiedenis in PowerShell te bekijken,u moet de opdracht Get-History uitvoeren, maar er is een zeer cruciale stap om ervoor te zorgen dat uw geschiedenis wordt opgeslagen. U kunt PowerShell NIET sluiten door op de knop Sluiten te klikken. In plaats daarvan moet u het altijd afsluiten met de opdracht exit.

U kunt de pijltoetsen omhoog en omlaag gebruiken om door de vorige opdrachten te bladeren.

Comments