কম্পিউটার টিউটোরিয়াল

উইন্ডোজ ১০-এ পাওয়ারশেল (PowerShell) দিয়ে করা যায় এমন ১৫টি অ্যাডভান্সড টাস্ক

নভিস (novice) ব্যবহারকারীর জন্য পাওয়ারশেল (PowerShell) একটি ভয়াবহ প্রস্পেক্ট (prospect)। ২০১৬ সালে, একটি টেক্সট-বেসড ইন্টারফেসের বিষয়ে কিছু আর্কেইন (arcane) ও আর্কএক (archaic) ফিলিং আছে—কিন্তু এতে দক্ষ হলে আপনি আপনার কম্পিউটারকে এমনভাবে নিয়ন্ত্রণ করতে পারবেন যা আপনি কখনো চিন্তা করতেও পারতেন না।

এক্সপার্ট পাওয়ারশেল দিয়ে আপনার সিস্টেমের সব এলাকায় যেসব টাস্ক করা যায়, সেটি শুধু বেসিক বুঝা এবং প্রচুর প্র্যাকটিসের মাধ্যমে আসে। এই পনেরো টাস্ক বুঝলে আপনি পাওয়ারশেল কী এবং এর ক্ষমতা কতটুকু দূর পর্যন্ত পৌঁছায় সেটি বুঝতে পারবেন।

এলিভেটেড (Elevated) পাওয়ারশেল প্রম্পট খোলা

এই টাস্কগুলো শুরু করার জন্য আপনাকে একটি এলিভেটেড পাওয়ারশেল প্রম্পট খোলতে হবে। সার্চবারে Powershell লিখুন, উপযুক্ত ফলাফলে রাইট-ক্লিক করুন, এবং Run as Administrator সিলেক্ট করুন।

উইন্ডোজ ১০-এ পাওয়ারশেল (PowerShell) দিয়ে করা যায় এমন ১৫টি অ্যাডভান্সড টাস্ক

অথবা, সার্চবারে PowerShell লিখে CTRL + SHIFT + ENTER চাপলেই একই ফলাফল পাওয়া যায়।

তারিখ ও সময় সেট করুন

আপনার কম্পিউটারে তারিখ সেট করার অনেক পথ আছে, কিন্তু নিচের পাওয়ারশেল কমান্ডগুলো সরল হওয়ার কারণে নভিসের জন্য ভালো প্র্যাকটিস। তবে অন্যের কম্পিউটারে এই প্যারামিটার টুইক করার সময় সতর্ক থাকুন—ভুলভাবে সেট করা সিস্টেম ক্লক এক্টিভ ডিরেক্টরি (Active Directory) এনভায়রনমেন্টে প্রলয় আনাতে পারে।

শুরু করতে, এলিভেটেড পাওয়ারশেল প্রম্পট খুলুন এবং নিচের কমান্ডটি দিন:

Set-Date -date "12/25/2016 7:30 AM"

এন্টার চাপুন, এবং আপনার কম্পিউটার মনে করবে আজ ಕ್ರিসমাস ডে। আপনি তারপর সঠিক সময় ও তারিখে ফেরাতে একই কমান্ড ব্যবহার করতে পারেন, অথবা সেটিংস অ্যাপ থেকে আপনার পিসিকে আবার অটোমেটিক টাইম ও ডেট সেট করার জন্য বলতে পারেন।

তারিখ ও সময় অ্যাডজাস্ট করুন

কিছু ক্ষেত্রে, আপনি পুরোপুরি পরিবর্তন না করে তারিখ ও সময় একটু অ্যাডজাস্ট করতে চান। এই টাস্কটি সম্পন্ন করতে, আমরা আগের মতো Set-Date কমডলেট (cmdlet) ব্যবহার করব কিন্তু কিছুটা ভিন্ন পদ্ধতিতে:

Set-Date (Get-Date).AddDays(2)

উপরে দেখাচ্ছে, আমরা একটি কমান্ড চালাচ্ছি যা কম্পিউটারে সেট করা বর্তমান তারিখ নিয়ে, তারপর একটি প্রসেস ট্রিগার করে যা মাসের দিনকে প্রত্যাশিত মান পর্যন্ত বাড়ায়। আমরা AddHours, AddMinutes বা AddSecondsও ব্যবহার করতে পারি ফাইন-টিউনিংয়ের জন্য, অথবা সংখ্যার আগে মাইনাস সাইন দিয়ে ভবিষ্যতের বদলে অতীতে যেতে পারি।

ফাইল ও ফোল্ডার ভেরিফাই (Verify) করুন

পাওয়ারশেল কমান্ড দিয়ে আপনি সহজে চেক করতে পারেন কোনো ফাইল বা ফোল্ডার আপনার কম্পিউটারে আছে কিনা, ফাইল এক্সপ্লোরার (File Explorer)-এ গিয়ে время বিতর্ক করার প্রয়োজন নেই। এটি Test-Path কমডলেট ব্যবহার করে আপনার নির্দিষ্ট পথের শেষে কিছু আছে কিনা যাচাই করার সহজ বিষয়। উদাহরণস্বরূপ, Documents ফোল্ডারে PowerShell.xls নামক ফাইল খুঁজতে চাইলে আমি এমন একটি কমান্ড ব্যবহার করব (জाहির ਹੈ আপনার ফোল্ডার হায়েরার্কি অনুযায়ী পথ ভিন্ন হবে):

Test-Path c:\Users\Brad\Documents\PowerShell.xls

তবে, আপনাকে সঠিক ফাইল নাম জানতে হয় না স্ক্যান চালানোর জন্য। একটি অ্যাস্টারিস্ক (*) ওয়াইল্ডকার্ড (wildcard) হিসেবে ব্যবহার করা যায়, যা উপকারী যদি আপনি নির্দিষ্ট ফাইল টাইপ খুঁজতে চান, যেমনঃ

Test-Path c:\Users\Brad\Documents\*.xls

ফাইল ও ফোল্ডার রিনেম (Rename) করুন

ফাইল পথ সঠিকভাবে টাইপ করার অভ্যাস হয়ে গেলে, পাওয়ারশেল দিয়ে ফাইল ও ফোল্ডার দ্রুত ও কার্যকরভাবে রিনেম করা যায়। শুধু মনে রাখুন Rename-Item কমডলেট দিয়ে শুরু করুন, তারপর বিদ্যমান পথ দিন, তারপর আপনার কাঙ্খিত নাম—যেমনঃ

Rename-Item c:\Users\Brad\Documents\PowerShellisDifficult.xls PowerShellisEasy.xls

ফাইল ও ফোল্ডার মুভ (Move) করুন

পাওয়ারশেল দিয়ে ফাইল ও ফোল্ডার মুভ করা সহজ, একবার Rename-Item কমডলেট ব্যবহার করলে। কমান্ডের যে অংশে আপনি নতুন নাম নির্দিষ্ট করতেন, সেখানে নতুন লোকেশন দিন:

Move-Item c:\Users\Brad\Documents\PowerShellisEasy.xls c:\Users\Brad\Important Documents

আগে ব্যবহার করা ওয়াইল্ডকার্ড (*) এর সাথে কম্বাইন করলে, আপনি নির্দিষ্ট টাইপের ফাইল এক ফোল্ডার থেকে অন্য ফোল্ডারে দ্রুত মুভ করতে পারেন:

Move-Item c:\Users\Brad\Documents\*.xls c:\Users\Brad\Important Documents

প্রোগ্রাম খুলুন (Open Programs)

Invoke-Item কমডলেট পাওয়ারশেল প্রম্পট থেকে সরাসরি অ্যাপ্লিকেশন বা ফাইল খুলতে দেয়:

Invoke-Item c:\Windows\System32\notepad.exe

তবে, যতক্ষণ অ্যাপ্লিকেশন আপনার উইন্ডোজ পাথে (Windows path) থাকে, ততক্ষণ আপনি শুধু পাওয়ারশেলে এর নাম লিখেও একই কাজ করতে পারেন:

notepad

ডিফল্ট প্রোগ্রাম দিয়ে ফাইল খুলুন

এই কমডলেট ফাইল খোলার জন্য আরও ভালো কাজে লাগে, কিন্তু একটি ছোট ক্যাভিয়েট (caveat) আছে। Invoke-Item দিয়ে ফাইল ইনিশিয়ালাইজ করলে সেটি যে প্রোগ্রামে ডিফল্ট সেট করা আছে সেটিতে খুলবে, তাই আগে নিশ্চিত হোন সেটি আপনার প্রয়োজন অনুযায়ী সেট করা আছে।

Invoke-Item c:\MakeUseOf\Hello.txt

ব্যাচ (Batch) হিসেবে ফাইল খুলুন

Invoke-Item কমডলেট তখন চমক বরপা করে যখন এটি আগে ব্যবহৃত ওয়াইল্ডকার্ড অ্যাস্টারিস্ক (*) এর সাথে কম্বাইন করা হয়। এই কমান্ড আপনার আর্মouri-এ থাকলে, আপনি এক ফোল্ডারের সকল ফাইল একসাথে খুলতে পারবেন:

Invoke-Item c:\MakeUseOf\*.txt

টেক্সট ফাইল পড়ুন (Read Text Files)

পাওয়ারশেলের টেক্সট-বেসড ইন্টারফেস কখনো VLC-এর সাথে ফাইল টাইপ ডিসপ্লে করার প্রতিযোগিতা করবে না। তবে এটি .txt ফাইলের কন্টেন্ট দেখানোর জন্য খুব উপযুক্ত Get-Content কমান্ড দিয়ে:

Get-Content c:\MakeUseOf\Hello.txt
উইন্ডোজ ১০-এ পাওয়ারশেল (PowerShell) দিয়ে করা যায় এমন ১৫টি অ্যাডভান্সড টাস্ক

তবে, আপনি হয়তো পুরো ডকুমেন্ট দেখার বদলে প্রিভিউ করতে চান, বিশেষ করে যদি ফাইলটি বড় হয়। সেক্ষেত্রে, -totalcount প্যারামিটার ব্যবহার করুন:

Get-Content c:\MakeUseOf\Hello.txt -totalcount 5
উইন্ডোজ ১০-এ পাওয়ারশেল (PowerShell) দিয়ে করা যায় এমন ১৫টি অ্যাডভান্সড টাস্ক

উপরে দেখানোanusারে, শুধু ডকুমেন্টের প্রথম পাঁচ লাইন ডিসপ্লে হয়েছে।

টেক্সট ফাইলে টেক্সট যোগ করুন (Add to a Text File)

.txt ডকুমেন্টের কন্টেন্ট পড়ার বাইরে একধাপ এগিয়ে Add-Content কমডলেট ব্যবহার করে টেক্সট যোগ করা যায়:

Add-Content c:\MakeUseOf\Hello.txt "written by Brad Jones"

তবে, এটি যোগ করা টেক্সটটি ডকুমেন্টের সবশেষে রাখবে, যা আপনি কাঙ্খিত নাও হতে পারে।

উইন্ডোজ ১০-এ পাওয়ারশেল (PowerShell) দিয়ে করা যায় এমন ১৫টি অ্যাডভান্সড টাস্ক

এখানে, একটি স্পেশ্যাল ক্যারেক্টার ব্যবহার করে আপনি নির্দিষ্ট করতে পারেন যে আপনার যোগ করা টেক্সটটি নতুন লাইনে যোগ হবে:

Add-Content c:\MakeUseOf\Hello.txt "`nwritten by Brad Jones"
উইন্ডোজ ১০-এ পাওয়ারশেল (PowerShell) দিয়ে করা যায় এমন ১৫টি অ্যাডভান্সড টাস্ক

পাওয়ারশেলের সাথে কাজ করার সময় আপনি আরও কয়েকটি স্পেশ্যাল ক্যারেক্টার মনে রাখতে পারেন। `b দিয়ে ব্যাকস্পেস (backspace), `t দিয়ে হরিজন্টাল ট্যাব (horizontal tab) হবে। একইভাবে, `' দিয়ে সিঙ্গেল কোট (single quote) এবং `" দিয়ে ডবল কোট (double quote) প্রডিউস হবে।

টেক্সট ফাইল মেজার (Measure) করুন

আপনি হয় অনামো ফাইল খুঁজছেন, অথবা শুধু জানতে চান একদিন প্রোগ্রামিং করে কত লাইন কোড লিখলেন—পাওয়ারশেল টেক্সট ফাইলের লাইন সংখ্যা মাপার খুব দক্ষ পদ্ধতি দেয়। নিচের কমান্ডটি ব্যবহার করুন:

Get-Content c:\MakeUseOf\Hello.txt | Measure-Object
উইন্ডোজ ১০-এ পাওয়ারশেল (PowerShell) দিয়ে করা যায় এমন ১৫টি অ্যাডভান্সড টাস্ক

এখানে আমরা দুটি কমডলেট একসাথে ব্যবহার করছি—এবং পাওয়ারশেলে গভীর যেতে গেলে এটা আরও গুরুত্বপূর্ণ হয়ে যাবে।

সিকিউরিটি ও সিস্টেম অ্যাডমিন (Security and System Admin)

আপনার কম্পিউটার যদি অস্বাভাবিক আচরণ করে, তবে সমস্যা ডায়াগনোজ করার সাধারন চ্যানেলগুলো আপনার কাছে নাও থাকতে পারে। solchen সময়ে, পাওয়ারশেল দিয়ে একই তথ্য রিট্রিভ (retrieve) করার পদ্ধতি জানা খুব কাজে আসে।

Get-Service একটি কমডলেট যা নোট করে রাখা উচিত, কারণ এটি কল করলে আপনার কম্পিউটারে ইনস্টল করা সব সার্ভিস এবং তাদের বর্তমান স্ট্যাটাস দেখাবে:

Get-Service

তবে, আমরা একটি আরও জটিল কমান্ড ব্যবহার করে কী ধরনের সার্ভিস সম্পর্কে তথ্য চাই সেটি নির্দিষ্ট করতে পারি:

Get-Service | Where-Object {$_.status -eq "stopped"}

এটি শুধু সেসব সার্ভিস দেখাবে যা বর্তমানে স্টপড (stopped) অবস্থায় আছে, প্রতিটি অবজেক্টের (কমান্ডে $_-দিয়ে রিপ্রেজেন্ট করা হয়েছে) স্ট্যাটাস চেক করে। আমরা stopped শব্দের বদলে running ব্যবহার করলে বিপরীত সেট সার্ভিস পাব।

একটি সার্ভিস রিস্টার্ট করুন (Restart a Service)

একবার শনাক্ত হলে যে কোনো সার্ভিস সমস্যা তৈরি করছে, সেটিকে পাওয়ারশেল থেকে সরাসরি রিস্টার্ট করা যায়:

Restart-Service dbupdate

আমরা একটি প্যারামিটারও ব্যবহার করতে পারি যা আমাদের সার্ভিসকে এর ডিসপ্লে নাম (display name) দিয়ে রেফার করতে দেয়, সিস্টেমের ব্যবহৃত সম্ভাব্যভাবে বিভ্রান্তিকর নামের বদলে:

Restart-Service -displayname "Dropbox Update Service"

একটি সার্ভিস মডিফাই করুন (Modify a Service)

কিছু সার্ভিস সমস্যা সিম্পল রিস্টার্ট দিয়ে ফিক্স হয় না। আপনার সমস্যা যদি এমন একটি সার্ভিসের কারণে হয় যা ডিফল্টভাবে স্টার্টআপে খুলে, তবে পাওয়ারশেল দিয়ে এই সেটিংস পরিবর্তন করা যায়:

Set-Service dbupdate -startuptype "manual"

আপনি কী অর্জন করতে চান তার ওপর নির্ভর করে, manual শব্দের বদলে automatic এবং disabledও ব্যবহার করা যায়।

স্টাক অ্যাপ রিফ্রেশ করুন (Refresh Stuck Apps)

যদি কোনো অ্যাপ তার স্প্ল্যাশ স্ক্রিন-এ আটকে যায় বা ইনিশিয়ালাইজ করতে ব্যর্থ হয়, সেটি অত্যন্ত ফラストেটিং (frustrating)। উইন্ডোজ ১০-এ অ্যাপগুলোকে ট্রাডিশনাল প্রোগ্রামের চেয়ে বেশি গুরুত্ব দেওয়া হয়েছে, এবং এই টাইপের সফ্টওয়্যার প্রায়শই ব্যবহারকারীকে ট্রাবলশুট করার সুযোগ দেয় না।

তবে, পাওয়ারশেল দিয়ে এই টাইপের সমস্যায় একটি ওয়ার্কঅরাউন্ড (workaround) দেওয়া যায়—MakeUseOf পাঠক গেরি বিটি (Gary Beaty)-কে এই টিপের জন্য ধন্যবাদ:

Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

এটি এখন পর্যন্ত আমরা যে কমান্ড দিয়েছি সেগুলোর চেয়ে সবচেয়ে জটিল, তাই আপনি যদি সব উপাদান বুঝতে না পারেন তাও চিন্তা করবেন না। কিন্তু আপনি যেসব কনসেপ্ট শিখেছেন—যেমন কমডলেট, প্যারামিটার, এবং এই আর্টিকেলের অন্য জায়গায় ব্যবহৃত টেকনিকগুলো—সেগুলোর ভিত্তিতে আপনি উপরের কমান্ডের কমপক্ষে কিছু অংশ বুঝতে পারবেন।

পরবর্তী পদক্ষেপ (Next Steps)

এই পনেরো টেকনিক শুধু পাওয়ারশেল কী করতে পারে তার পরিচিতি। এর ক্ষমতা আরও গভীরে জানতে কিছু কোডিং নলেজ বা কমপক্ষে শেখার ইচ্ছা লাগবে—কিন্তু সময় দিলে ফলাফল মিলবে।

মাইক্রোসফ্টের উইন্ডোজ পাওয়ারশেল আউনার্স ম্যানুয়াল (Windows PowerShell Owner's Manual) শুরু করার জন্য ভালো জায়গা। তারপর পাওয়ারশেল সাবরেডডিট (PowerShell subreddit) চেক করুন। সতর্ক থাকুন, বোর্ডের অধিকাংশ ব্যবহারকারী এক্সপার্ট, তাই শুরুতে আপনি আপনাকে আউট অফ ডেপথ (out of your depth) ফিল করতে পারেন। তবে, অভিজ্ঞ ব্যবহারকারীরা কী করতে পারে সেটি দেখতে এবং নিজের স্কিল বাড়াতে অনুপ্রেরণা পাওয়ার জন্য এটি চমৎকার জায়গা।

পাওয়ারশেল নিয়ে সাহায্য চান? অথবা আপনার ইনসাইট শেয়ার করতে প্রস্তুত? নিচে কমেন্ট সেকশনে যোগ দিন!

  1. উইন্ডোজ ১০-এ পাওয়ারশেল অ্যাডমিনিস্ট্রেটর হিসেবে চালান: ৭টি সহজ পদ্ধতি

  2. উইন্ডোজ ১০-এ পাওয়ারশেল ভার্সন যাচাই করুন মিনিটে - সহজ গাইড

  3. Windows 11-এ PowerShell আপডেট করার ধাপে ধাপে গাইড

  4. Windows Task Automation মাস্টার করুন: ধাপে ধাপে গাইড