- - Windows 10'da PowerShell Komut Geçmişi Nasıl Gidilir?

Windows 10'da PowerShell Komut Geçmişi Nasıl Gidilir?

Windows 10'daki PowerShell size bir tarih verebilirGeçerli oturumda yürüttüğünüz her komuttan ancak birçok kullanıcı için bu yeterli değil. Oturumlar arasında yürütülen komutların geçmişine ihtiyaçları var. PowerShell komut geçmişini almanız gerekiyorsa ve yalnızca geçerli oturum için geçmiş hile yapmazsa, size yardımcı olabilecek bir komut dosyası ve günlük dosyası vardır.

Komut Geçmişi Geçerli Oturum

PowerShell 5 kullanıyorsanız, aşağıdaki komutu çalıştırarak mevcut oturum için komut geçmişini alabilirsiniz;

Get-History

Varsayılan olarak, PowerShell 50'ye kadar komut kaydedebilirancak daha fazla tasarruf etmek için değiştirebilirsiniz. PowerShell'i açın ve başlık çubuğunu sağ tıklayın. Bağlam menüsünden Özellikler'e gidin. Özellikler penceresinde Seçenekler sekmesine gidin. Varsayılan ayarın 50 olarak ayarlandığı bir Komut Geçmişi bölümü göreceksiniz. Daha yüksek bir değerle değiştirin.

PowerShell Geçmiş Günlüğü

Geçmiş günlüğünü görüntülemek için, önce PSReadLine modülünü aşağıdaki komutla kurmanız gerekir;

Install-Module PSReadLine

Ardından, aşağıdaki komutu çalıştırın ve bir dosya konumu döndürecektir. Bu konumdaki dosya, PowerShell'de çalıştırdığınız her komutun tam bir geçmişini size verecektir.

(Get-PSReadlineOption).HistorySavePath

Oturumlar arası PowerShell Komut Geçmişi

Bu biraz uzun bir süreç ama buna değer. Bu çözüm Intel'den geliyor. Önce aşağıdaki konumu açın ve bu konumda Microsoft.PowerShell_profile.ps1 adlı bir dosya olup olmadığını kontrol edin.

C:Users<username>DocumentsWindowsPowerShell

Orada dosya yoksa, PowerShell'i açın ve çalıştırın.aşağıdaki komut. Profil dosyanızı Not Defteri'nde açacak, ancak bu dosya mevcut değil ve PowerShell size bu kadarını söyleyecek ve oluşturmak isteyip istemediğinizi soracaktır. Dosyayı oluşturmasına izin ver.

notepad $Profile

Açılan not defteri dosyasını kapatın. PowerShell'de, PowerShell 5'i çalıştırdığınızdan emin olmak için bu komutu çalıştırın.

$PSVersionTable.PSVersion

Ardından, aşağıdaki komutu kullanarak yürütme politikanızı RemoteSigned olarak ayarlayın.

set-executionpolicy remotesigned

Sonra, PsUrl’u vePSReadline modülleri. Bir hata alırsanız, bunları aşağıdaki komutla yükleyebilirsiniz, ancak bağlantı verilen sayfalarda belirtilen işlemle el ile yükleyin veya depoyu güvenilir bir depo olarak eklemeyi deneyin ve ardından komutu tekrar çalıştırın.

install-module PsUrl
install-module PSReadline

Şimdi bu modüller kurulduğundan, bu dosyayı açın;

C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1

Aşağıdakileri bu dosyanın içine yapıştırın ve kaydedin.

$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

PowerShell'de komut geçmişini görüntülemek için,Geçmişi Al komutunu çalıştırmanız gerekir, ancak geçmişinizin kaydedildiğinden emin olmak için çok önemli bir adım vardır. Kapat düğmesine tıklayarak PowerShell'i kapatamazsınız. Bunun yerine, her zaman exit komutu ile kapatmalısınız.

Önceki komutlar arasında dolaşmak için Yukarı ve Aşağı ok tuşlarını kullanabilirsiniz.

Yorumlar