विंडोज 10 पर पॉवरशेल आपको एक इतिहास दे सकता हैहालांकि, वर्तमान सत्र में आपके द्वारा निष्पादित की जाने वाली प्रत्येक कमांड के लिए, कई उपयोगकर्ताओं के लिए यह पर्याप्त नहीं है। उन्हें सत्रों में निष्पादित आदेशों के इतिहास की आवश्यकता है। यदि आपको PowerShell कमांड इतिहास प्राप्त करने की आवश्यकता है, और वर्तमान सत्र के लिए इतिहास अकेले नहीं करता है, तो वहाँ एक स्क्रिप्ट और एक लॉग फ़ाइल है जो आपकी मदद कर सकती है।
कमांड इतिहास वर्तमान सत्र
यदि आप PowerShell 5 चला रहे हैं, तो आप निम्न कमांड चलाकर वर्तमान सत्र के लिए कमांड इतिहास प्राप्त कर सकते हैं;
Get-History
डिफ़ॉल्ट रूप से, PowerShell 50 कमांड तक बचा सकता हैलेकिन आप इसे अधिक सहेजने के लिए बदल सकते हैं। PowerShell खोलें और शीर्षक बार पर राइट-क्लिक करें। संदर्भ मेनू से, गुण पर जाएं। गुण विंडो पर, विकल्प टैब पर जाएं। आपको एक कमांड हिस्ट्री सेक्शन दिखाई देगा, जहां डिफ़ॉल्ट 50 पर सेट है। इसे उच्च मूल्य पर बदलें।

पॉवरशेल इतिहास लॉग
इतिहास लॉग देखने के लिए, आपको पहले PSReadLine मॉड्यूल को निम्न कमांड के साथ स्थापित करने की आवश्यकता है;
Install-Module PSReadLine
इसके बाद, निम्न कमांड चलाएँ और यह एक फाइल लोकेशन लौटाएगा। इस स्थान पर मौजूद फ़ाइल आपको PowerShell में आपके द्वारा चलाए जाने वाले प्रत्येक आदेश का संपूर्ण इतिहास देगी।
(Get-PSReadlineOption).HistorySavePath

क्रॉस-सेशन पॉवरशेल कमांड हिस्ट्री
यह थोड़ी लंबी प्रक्रिया है लेकिन यह इसके लायक है। यह समाधान इंटेल से आता है। पहले निम्न स्थान खोलें और जाँच करें कि क्या इस स्थान पर Microsoft.PowerShell_profile.ps1 नामक कोई फ़ाइल है।
C:Users<username>DocumentsWindowsPowerShell
यदि वहां कोई फ़ाइल नहीं है, तो PowerShell खोलें और चलाएंनिम्नलिखित आदेश। यह आपकी प्रोफाइल फाइल को Notepad में खोलेगा लेकिन वह फाइल मौजूद नहीं है और PowerShell आपको उतना ही बताएगा, और पूछेगा कि क्या आप इसे बनाना चाहते हैं। इसे फ़ाइल बनाने की अनुमति दें।
notepad $Profile
खुलने वाली नोटपैड फ़ाइल को बंद करें। PowerShell में, यह सुनिश्चित करने के लिए कि आप PowerShell 5 चला रहे हैं, यह आदेश चलाएँ।
$PSVersionTable.PSVersion
इसके बाद, अपनी निष्पादन नीति को निम्न कमांड के साथ रिमोटसाइनड पर सेट करें।
set-executionpolicy remotesigned
अगला, आपको PsUrl और स्थापित करने की आवश्यकता हैPSReadline मॉड्यूल। आप उन्हें निम्न कमांड के साथ स्थापित कर सकते हैं, हालांकि यदि आपको कोई त्रुटि मिलती है, तो बस उन्हें लिंक किए गए पृष्ठों पर उल्लिखित प्रक्रिया द्वारा मैन्युअल रूप से स्थापित करें, या रिपॉजिटरी को एक विश्वसनीय रिपॉजिटरी के रूप में जोड़ने और फिर कमांड को फिर से चलाने का प्रयास करें।
install-module PsUrl
install-module PSReadline
अब उन मॉड्यूल को स्थापित किया गया है, इस फ़ाइल को खोलें;
C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1
इस फ़ाइल के अंदर निम्न पेस्ट करें, और इसे सहेजें।
$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 में कमांड इतिहास देखने के लिए,आपको गेट-हिस्ट्री कमांड को चलाने की आवश्यकता है, हालांकि यह सुनिश्चित करने के लिए एक बहुत महत्वपूर्ण कदम है कि आपका इतिहास सहेजा गया है। आप बंद बटन पर क्लिक करके PowerShell को बंद नहीं कर सकते। इसके बजाय आपको हमेशा एग्जिट कमांड से इसे बंद करना चाहिए।

आप पिछले कमांड के माध्यम से साइकिल चलाने के लिए अप और डाउन एरो की का उपयोग कर सकते हैं।
टिप्पणियाँ