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

Windows PowerShell স্ক্রিপ্ট দিয়ে প্রোডাক্টিভিটি বাড়ান

Linux-এর প্রোডাক্টিভিটি Windows-এ আনা যায় কি? Windows এবং Linux-এর প্রধান পার্থক্য একটা: অধিকাংশ Linux ডিস্ট্রো শক্তিশালী Bash shell সহ আসে; তুলনায়, Windows-এর কমান্ড প্রম্পট খুব বেসিক। Windows-এ যদি সমান শক্তিশালী টার্মিনাল থাকত?

PowerShell-এ সেটি সম্ভব হয়।

ডিসক্লেইমার: PowerShell "Windows-র Bash" নয়, এবং সেটা হওয়ার লক্ষ্যও নয়। হ্যাঁ, দুটোই কমান্ড লাইন এনভায়রনমেন্ট যা প্রোডাক্টিভিটি অনেক বাড়াতে পারে, কিন্তু সমাবেশ এখানেই শেষ। PowerShell কে নিজস্ব পৃথক পদ্ধতি হিসেবে দেখুন একটি শক্তিশালী কমান্ড লাইন এনভায়রনমেন্ট তৈরি করার।

PowerShell কী?

PowerShell কে Windows কমান্ড প্রম্পটের একটি বিশাল আপগ্রেড হিসেবে ভাবা যায়। এটি অনেক একই কাজ করতে পারে (সিস্টেম নেভিগেট, ফাইলের সাথে ইন্টারঅ্যাক্ট, প্রপার্টি মডিফাই), কিন্তু পুরো .NET ফ্রেমওয়ার্ক খুলে দেয় সর্বোচ্চ শক্তির জন্য। সুবিধাগুলো বুঝতে পড়তে থাকুন।

PowerShell কে hagy কমান্ড প্রম্পট থেকে ভিন্ন করে তোলে দুটি মূল সুবিধা: এক্সটেনসিবিলিটি এবং স্ক্রিপ্টেবিলিটি।

Windows PowerShell স্ক্রিপ্ট দিয়ে প্রোডাক্টিভিটি বাড়ান

PowerShell প্রাথমিক কমান্ড সেটের সাথে আসে, কিন্তু আপনি নিজের কমান্ড যোগ করতে পারেন cmdlets তৈরি করে। Cmdlets হলো ক্লাস যা C# ভাষায় তৈরি হয় এবং যখন কল করা হয়, PowerShell এনভায়রনমেন্টে এক্সিকিউট হয়। C#-তে লেখা থাকায়, cmdlets-কে পুরো .NET ফ্রেমওয়ার্কের অ্যাক্সেস থাকে।

.NET ফ্রেমওয়ার্কে Microsoft প্রদত্ত বিশাল কোড লাইব্রেরি আছে। নিজের cmdlet লিখার সময় আপনাকে সেটি অ্যাক্সেস থাকে। প্রসেস ইনফরমেশন টানে? ক্রিপ্টোগ্রাফিক অ্যালগরিদম? ডেটাবেস কানেক্টিভিটি? নেটওয়ার্ক কমিউনিকেশন? এই সব - আরো বেশি - .NET ফ্রেমওয়ার্ক দিয়ে প্রদান করা হয়, মানে অধিকাংশ কাজ আপনার জন্য হয়ে থাকে। আপনাকে শুধু সঠিক ফাংশন কল করে জোড়া দিতে হবে।

Microsoft স্পষ্ট করেছে PowerShell যেন যাবে না - বরং Windows 10-এ আসা প্যাকেজ ম্যানেজার PowerShell-ভিত্তিক হবে - তাই সবাই জলদি শিখতে শুরু করুন।

PowerShell কেন অদ্ভুত

PowerShell-এ অনেক অ্যাডভান্সড ফিচার আছে, যেগুলো প্রায় প্রোগ্রামার এবং সার্ভার অ্যাডমিনদের জন্য প্রাসঙ্গিক, কিন্তু কিছু বেসিক ফিচার আছে যা বুঝতে সহজ কিন্তু সবার জন্য অত্যন্ত উপকারী।

সহজ কিন্তু শক্তিশালী। PowerShell এনভায়রনমেন্ট পর্যাপ্ত সহজ যে কেউ কয়েক ঘণ্টা পড়ে শিখতে পারে। একটি লার্নিং কার্ভ আছে, কিন্তু এটি نسبيত স্লো এবং আপনাকে সবকিছু শিখতে হয় না ব্যবহার করার জন্য।

বিস্তারিত প্রসেস ইনফরমেশন। альтернатив টাস্ক ম্যানেজার ব্যবহার করা একটা ব্যাপার, কিন্তু PowerShell প্রসেস ম্যানেজমেন্টে কিছু চমৎকার ট্রিক করতে দেয়। নেটিভ Get-Process এবং Stop-Process কমান্ডলেট দিয়ে শুরু করুন।

Windows PowerShell স্ক্রিপ্ট দিয়ে প্রোডাক্টিভিটি বাড়ান

সহজ অটোমেশন এবং স্ক্রিপ্টিং। বেসিক Windows টাস্ক অটোমেট করার সহজ উপায় দেয় না। PowerShell-এর আগে ব্যাচ ফাইল শুধু প্রিমিটিভ স্ক্রিপ্টিং করতে পারত, অটোমেশনের জন্য থার্ড-পার্টি সমাধান দরকার (যেমন Perl, AutoHotkey)। কিন্তু PowerShell-এ আপনি নির্দিষ্ট সময় বা ইন্টারভালে টাস্ক শিডিউল করতে পারেন।

উদাহরণস্বরূপ, ScheduledTasks মডিউল দিয়ে আপনি নির্দিষ্ট প্রোগ্রাম বা প্রসেস ট্রিগার অনুযায়ী এক্সিকিউট করাতে পারেন (নির্দিষ্ট সময়ে, সিস্টেম ইভেন্ট হলে, ইত্যাদি) এবং সেই টাস্কের কনটেক্সট ডিফাইন করতে পারেন (সিকিউরিটি লিমিটেশন ইত্যাদি)।

কমান্ড পাইপিং এবং লজিক। Bash (Linux)-এ কমান্ডগুলো পাইপ করা যায় যাতে এক কমান্ডের আউটপুট অন্য কমান্ডের ইনপুট হয়। উদাহরণস্বরূপ, বেসিক Get-Process কমান্ডলেট সকল রানিং প্রসেসের ইনফো আউটপুট করে। আপনি যদি শুধু সাবসেট প্রসেসের ইনফো চান? এটি Where-Object কমান্ডলেট দিয়ে পাইপ করুন, যা প্রসেস ফিল্টার হিসেবে কাজ করে, শুধু Where-Object-এর রিটার্ন করা প্রসেসগুলোর ওপর Get-Process এক্সিকিউট করবে।

PowerShell কন্ডিশনাল লজিকের কিছু নেটিভ কমান্ডও দেয় (যেমন If, Else, For, Switch) যা cmdlet এক্সিকিউশন ফ্লো কন্ট্রোল করতে ব্যবহার হয়। উদাহরণস্বরূপ, আপনি একটি PowerShell স্ক্রিপ্ট তৈরি করতে পারেন যা নির্দিষ্ট শর্ত পূরণ হলে নির্দিষ্ট কমান্ডলেট এক্সিকিউট করবে (যেমন RAM почти ফুল হলে প্রসেস ক্লিন আপ করা)।

রিমোট এবং ব্যাকগ্রাউন্ড জব। শুধু cmdlets ব্যাকগ্রাউন্ড প্রসেস হিসেবে এক্সিকিউট করা যায় না (তাই একসাথে একাধিক টাস্ক অ্যাসিঙ্ক্রোনাসলি চালাতে পারেন), অনেক cmdlets রিমোট মেশিনেও এক্সিকিউট করা যায় নেটওয়ার্কে যতক্ষণ সেগুলো কনফিগারড থাকে। রিমোট ক্যাপাবিলিটি वाले cmdlets প্রায় ComputerName প্যারামিটার দেয় যা এক্সিকিউশন সময় নির্দিষ্ট করতে পারেন।

আরো জানতে, PowerShell দিয়ে রিমোট কমান্ড চালানোর ওপর TechNet পেজ দেখুন।

থার্ড-পার্টি স্ক্রিপ্ট ডাউনলোড করুন। আপনাকে নিজে PowerShell এক্সটেন্ড করতে হবেনা। অনলাইন রিপোজিটরি আছে যেখানে পাবলিক স্ক্রিপ্ট এবং cmdlets ডাউনলোড করে ব্যবহার করা যায়।

PowerShell শিখার জায়গা

PowerShell-এ হাত ঘা মাতে প্রস্তুত? কিছু রিসোর্স যা নতুনদের জন্য প্রায়ই রিকমেন্ড করা হয়:

Don Jones-এর PowerShell টিউটোরিয়াল। এই YouTube ভিডিও সিরিজ PowerShell 2.0-এ ফোকাস করে (Windows 7-সহ আসা ভার্সন), যা এখন কিছুটা পুরনো, কিন্তু যারা স্ক্রিপ্টিংয়ে একদম নতুন তাদের জন্য ভালো পরিচিতি দেয়। প্রতিটি ভিডিও কয়েক মিনিটের, কিন্তু ৯৯ টি আছে, তাই khá কম্প্রিহেনসিভ।

Microsoft Virtual Academy (MVA)। MVA Microsoft-সম্পর্কিত অনেক কোর্স ফ্রি অফার করে, PowerShell 3.0-এ দুটি কোর্স সহ। Getting Started কোর্স এবং Advanced Tools & Scripting কোর্স। দুটো কোর্সে ৯ লেসন করে আছে, প্রতিটি প্রায় ১ ঘণ্টার।

Windows PowerShell স্ক্রিপ্ট দিয়ে প্রোডাক্টিভিটি বাড়ান

TechNet Script Center। Microsoft-এর ওয়েবসাইটের TechNet সেকশনে PowerShell গাইড এবং টিউটোরিয়ালের অনেক লিংক আছে। বোনাস হিসেবে, Repository সেকশনে গিয়ে নানা PowerShell স্ক্রিপ্ট ব্রাউজ ও ডাউনলোড করা যায়।

Hey, Scripting Guy! Blog [ব্রোকেন URL সরানো হয়েছে]. এটি "সবকিছু PowerShell" ব্লগ প্রায় এক দশকের পুরনো তথ্য দিয়ে ভরা। প্রতিদিন নতুন পোস্ট পাবলিশ হয় এবং ট্যাগ দিয়ে ক্যাটাগরাইজড থাকে। কোথায় শুরু করবেন জানেন না? Getting Started ট্যাগ ব্রাউজ করুন [ব্রোকেন URL সরানো হয়েছে]।

PowerShell আপনার জন্য কি?

আপনি কী মনে করেন? PowerShell কি Windows-এ আপনার প্রোডাক্টিভিটি বাড়াবে? অথবা আপনার প্রয়োজনের জন্য এটি ওভারকিল? কমেন্টে আপনার মতামত শেয়ার করুন!

  1. Catalina-এর ৫টি ফিচার দিয়ে MacBook প্রোডাক্টিভিটি বাড়ানো

  2. ব صوت দিয়ে প্রোডাক্টিভিটি বাড়ান: উইন্ডোজ ১০ ভয়েস কন্ট্রোল মাস্টার করুন

  3. ভিজ্যুয়াল স্টুডিও কোড দিয়ে উইন্ডোজ ১০ ও ১১-এ পাওয়ারশেল স্ক্রিপ্ট বিল্ড ও রান করার বिगিনার গাইড

  4. উৎপাদনশীলতা বাড়ান: উইন্ডোজ ১০ টাস্কবারের জন্য ৭টি এক্সপার্ট টিপস