Windows PowerShell-এ একটি বিল্ট-ইন History ফিচার রয়েছে যা আপনি যখন এটি ব্যবহার করেন তখন এক্সিকিউট করা সকল কমান্ড মনে রাখে। যদিও এটি এক্টিভ সেশনের হিস্টরি মনে রাখার কথা, আমি দেখলাম এটি তার চেয়ে বেশি রিটেইন করে। এই পোস্টে দেখাবো কীভাবে PowerShell কমান্ড হিস্টরি দেখতে হয় এবং এটি স্মার্টভাবে কীভাবে ব্যবহার করতে হয়।

PowerShell কমান্ড হিস্টরি দেখার পদ্ধতি
History ফিচার থাকার সবচেয়ে বড় সুবিধা হল আপনাকে একবার এক্সিকিউট করা কমান্ড tekrar টাইপ করতে হয় না। তবে সैंकડো কমান্ডের মধ্য থেকে খুঁজে বের করা সহজ নয়। আংশিকভাবে মনে থাকা কোন নির্দিষ্ট কমান্ড সার্চ করে রান করা কেমন থাকবে? নিচের পদ্ধতিগুলো অনুসরণ করুন।
- কীবোর্ড পদ্ধতি
- PowerShell হিস্টরিতে ফরওয়ার্ড বা ব্যাকওয়ার্ড সার্চ
- এই সেশনের সম্পূর্ণ হিস্টরি দেখা
- PowerShell কমান্ড হিস্টরি থেকে নির্দিষ্ট কমান্ড ইনভোক করা
- হিস্টরির ভিতরে সার্চ
শেষে, PowerShell কমান্ডের হিস্টরি ক্লিয়ার, এক্সপোর্ট এবং ইম্পোর্ট করার পদ্ধতিও ব্যাখ্যা করা হয়েছে। একই কমান্ডগুলো বারবার এক্সিকিউট করতে হলে খুব কাজে আসবে।
১] কীবোর্ড পদ্ধতি

আমি নিশ্চিত আপনি কমান্ড প্রম্পট একবার অবশ্যই ব্যবহার করেছেন যদি কিছু সময় Windows ব্যবহার করে থাকেন। আপনি যদি অ্যাপারো এবং ডাউন অ্যাপারো কী ব্যবহার করেন, তবে এক্সিকিউট করা কমান্ডগুলোকে ফরওয়ার্ড ও ব্যাকওয়ার্ড নেভিগেট করতে পারেন। PowerShell-এও একই বিষয় প্রয়োগ্য। কিন্তু একটু টুইস্ট আছে। আপনি আংশিকভাবে কোন কমান্ড মনে রাখলে, এখানে সার্চ করার পদ্ধতি:
- আপনি যে কমান্ডটি আংশিকভাবে মনে করছেন সেটি টাইপ করুন
- F8 চাপুন, এবং খুঁজে পাওয়া পর্যন্ত চাপতে থাকুন
- সার্চ টার্ম ফ্লুওরেসেন্ট গ্রিন রঙে হাইলাইট হবে, এর পর বাকি কমান্ডটি দেখাবে
এখানে একমাত্র ড্রব্যাক হল সার্চ টার্ম কমান্ডের শুরুতে থাকতে হয়।
২] হিস্টরিতে ফরওয়ার্ড বা ব্যাকওয়ার্ড সার্চ

আপনি যদি হিস্টরিতে ফরওয়ার্ড বা ব্যাকওয়ার্ড সার্চ করতে চান, তবে Ctrl + R এবং Ctrl + S ব্যবহার করতে পারেন। প্রথমটি হিস্টরিতে পিছনে সার্চ করতে দেয়, দ্বিতীয়টি সামনে। কীবোর্ড শর্টকাট ব্যবহার करते ही নিচে একটি স্নিপেট আসবে (bck-i-search বা fwd-i-search)। যা সার্চ করতে চান সেটি টাইপ করুন, এবং যদি টেক্সট কমান্ডের মাঝপথে থাকেও, সেটি সার্চ করে দেবে। এটি উপরের F8 পদ্ধতির চেয়ে খুব ভালো।
৩] এই সেশনের সম্পূর্ণ PowerShell কমান্ড হিস্টরি দেখা

History টাইপ করুন এবং Enter কী চাপুন। আপনি বর্তমান সেশনে এক্সিকিউট করা সকল কমান্ড দেখতে পাবেন। যদিও আপনি অ্যাপারো কীগুলো ব্যবহার করে আগের সেশনের কমান্ডগুলো দেখতে পারেন, History কমান্ড সেগুলো দেখাবে না। আপনি যদি "H" কী চাপে Enter দেন, তবে এটি হিস্টরি কমান্ডের শর্টকাট হিসেবে কাজ করবে।
৪] হিস্টরি থেকে নির্দিষ্ট কমান্ড ইনভোক করা

আপনি লক্ষ্য করলে, উপরের চিত্রে প্রতিটি কমান্ডের পাশে একটি ID রয়েছে। আপনি যদি লিস্ট থেকে একটি নির্দিষ্ট কমান্ড এক্সিকিউট করতে চান, তবে Invoke-History ব্যবহার করতে হবে।
- আপনি যে কমান্ডটি এক্সিকিউট করতে চান তার ID নোট করুন
- Invoke-History <ID> টাইপ করুন। <ID> কে সঠিক নম্বরের সাথে রিপ্লেস করুন
- Enter কী চাপুন, এবং সেটি হিস্টরি থেকে সেই কমান্ডটি এক্সিকিউট করবে
৫] হিস্টরির ভিতরে সার্চ

কমান্ড হিস্টরির ভিতরে সার্চ করার সবচেয়ে সহজ পদ্ধতি হল History Output-এ Select-String মেথড ব্যবহার করা।
- নিচের কমান্ডটি টাইপ করুন, এবং Get-কে আপনার কাঙ্খিত সার্চ টার্ম দিয়ে রিপ্লেস করুন
- Get-History | Select-String -Pattern "Get"
- এটি সার্চ কমান্ডের সাথে মিলে যাওয়া সকল কমান্ড দেখাবে
যেহেতু IDও পাওয়া যায়, তাই Invoke History কমান্ড ব্যবহার করে তা ইনস্ট্যান্টলি এক্সিকিউট করা যায়।
PowerShell History ক্লিয়ার, এক্সপোর্ট, এবং ইম্পোর্ট
হিস্টরি থেকে সকল কমান্ড ডিলিট করতে, শুধু Clear-History কমান্ড এক্সিকিউট করুন। নোট করুন, এটা করার পরেও আপনি অ্যাপারো কীগুলো ব্যবহার করে কমান্ড অ্যাক্সেস করতে পারবেন।
সকল কমান্ড এক্সপোর্ট করতে, Export-Clixml বা Export-CSV ফরম্যাট ব্যবহার করতে পারেন। নমুনা কমান্ড:
Get-History | Export-Clixml -Path\PSHistorycommands.xml Get-History | Export-Csv -Path \PSHistorycommands.csv
এই কমান্ডগুলো অন্য বা নতুন সেশনে ইম্পোর্ট করতে, নিচের কমান্ড ব্যবহার করুন।
Add-History -InputObject (Import-Clixml -Path\PSHistorycommands.xml) Add-History -InputObject (Import-Csv -Path \PSHistorycommands.csv)
আপনি যেকোনো সময় এই CSV বা XML ফাইল খুলে PowerShell কমান্ড হিস্টরি ইনস্ট্যান্টলি দেখতে পারেন। এটি প্রায় সব কয়েক PowerShell কমান্ড হিস্টরি এবং কীভাবে সেগুলো রিয়ুজ করা যায় (কমান্ড দিয়ে, সার্চ করে, বা কাল ইম্পোর্ট করে) সম্পর্কে ব্যাখ্যা করেছে।
