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