यहां एक वैकल्पिक दृष्टिकोण है जो एक अलग PowerShell शॉर्टकट का उपयोग किए बिना आपके इतिहास को बनाए रखता है।
से लिया गया https://software.intel.com/en-us/blogs/2014/06/17/giving-powershell-a-persistent-history-of-commands
निम्न मोड के लिए चलाकर PowerShell के व्यवस्थापक संस्करण को खोलें और जानें कि आपके पास PowerShell का कौन सा संस्करण है:
$PSVersionTable.PSVersion
इसे चलाने के लिए आपको 3 से अधिक संस्करण की आवश्यकता होगी, यदि आपके पास एक पुराना संस्करण है, तो इसे अपडेट करें।
निम्न आदेश को चलाकर PowerShell को मॉड्यूल सहित स्क्रिप्ट आयात या उपयोग करने की अनुमति दें:
set-executionpolicy remotesigned
PsGet को स्थापित करें और निम्नलिखित कमांड निष्पादित करके आपके द्वारा आवश्यक मॉड्यूल स्थापित करें:
(new-object Net.WebClient).DownloadString("http://psget.net/GetPsGet.ps1") | iex
import-module PsGet
install-module PsUrl
install-module PSReadline
निम्नलिखित स्क्रिप्ट बनाएँ
$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
फ़ाइल को इस रूप में सहेजें C:\Users\<username>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
, जहां आपको अपने पीसी पर सही फ़ोल्डर नाम से बदलना चाहिए। सभी फ़ाइलों के लिए "प्रकार के रूप में सहेजें" विकल्प को बदलने के लिए मत भूलना।
PowerShell को बंद करें और इसे फिर से खोलें ताकि यह हमारे द्वारा सहेजी गई स्क्रिप्ट का उपयोग करना शुरू कर दे।
अब से,
get-history
आपके द्वारा टाइप किए गए पिछले कुछ सौ आदेशों को पुनः प्राप्त करेगा और आप तीर कुंजी के साथ उनके बीच स्क्रॉल कर सकते हैं।