Modules এবং Snap-Ins গাইড ও নোট

Microsoft Technologies - মাইক্রোসফট পাওয়ারশেল (Powershell)
316

PowerShell-এ Modules এবং Snap-Ins দুটি শক্তিশালী উপাদান যা PowerShell এর কার্যক্ষমতা বৃদ্ধি করতে ব্যবহৃত হয়। এগুলি PowerShell এর কাজের পরিবেশে নতুন কমান্ড, ফাংশন, এবং অন্যান্য কার্যকারিতা সংযোজন করে, যার মাধ্যমে ব্যবহারকারী বিভিন্ন টাস্ক সম্পাদন করতে পারে।


PowerShell Modules

Modules হলো ফাইল বা প্যাকেজ যা একাধিক কমান্ড, ফাংশন, ভেরিয়েবল, এবং অন্যান্য স্ক্রিপ্ট অন্তর্ভুক্ত করে, যা PowerShell এর কাজের দক্ষতা বৃদ্ধি করে। মডিউলগুলি PowerShell সেশনে একসাথে লোড করা যেতে পারে এবং সেগুলি পুনরায় ব্যবহারযোগ্য হয়।

Module তৈরি এবং ব্যবহার:

  1. Module তৈরি করা: PowerShell মডিউল তৈরি করতে, একটি .psm1 ফাইল তৈরি করতে হবে। এই ফাইলটি PowerShell কমান্ড বা ফাংশন অন্তর্ভুক্ত করবে। উদাহরণস্বরূপ, একটি MyModule.psm1 নামের মডিউল তৈরি করা যেতে পারে।

    MyModule.psm1:

    function Get-Greeting {
        return "Hello from the Module!"
    }
    
  2. Module ইনস্টল এবং লোড করা: মডিউল ইনস্টল করতে এবং PowerShell সেশনে লোড করতে Import-Module কমান্ড ব্যবহার করা হয়।

    Import-Module MyModule.psm1
    
  3. Module থেকে কমান্ড বা ফাংশন ব্যবহার করা: মডিউলটি লোড করার পর আপনি তার মধ্যে সংযুক্ত কমান্ড বা ফাংশন ব্যবহার করতে পারেন।

    Get-Greeting  # এটি "Hello from the Module!" রিটার্ন করবে
    
  4. Module তালিকা করা: আপনার সিস্টেমে সমস্ত মডিউল দেখতে Get-Module কমান্ড ব্যবহার করতে পারেন:

    Get-Module -ListAvailable
    
  5. Module খুঁজে বের করা: যদি আপনি নির্দিষ্ট কোনো মডিউল খুঁজতে চান:

    Get-Module -Name MyModule
    

Module এর সুবিধা:

  • কাস্টম ফাংশন: আপনি আপনার নির্দিষ্ট কাজ বা কার্যকলাপের জন্য ফাংশন তৈরি করে মডিউলে রাখতে পারেন।
  • পুনঃব্যবহারযোগ্য: একবার একটি মডিউল তৈরি করলে আপনি যেকোনো PowerShell সেশনে এটি ব্যবহার করতে পারেন।
  • লাইটওয়েট: মডিউলগুলি সাধারণত ছোট এবং সহজে লোড করা যায়।

PowerShell Snap-Ins

Snap-Ins হল .NET অ্যাসেম্বলি যা PowerShell সেশনে নতুন কমান্ড বা কার্যকারিতা যোগ করতে ব্যবহৃত হয়। Snap-Ins সাধারণত কমপ্লেক্স সিস্টেম অ্যাপ্লিকেশন বা পরিষেবা ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। যদিও মডিউলগুলি আরও আধুনিক এবং ফ্লেক্সিবল, তবে Snap-Ins এখনো কিছু পুরনো বা বিশেষ ক্ষেত্রে ব্যবহৃত হয়।

Snap-In তৈরি এবং ব্যবহার:

  1. Snap-In লোড করা: PowerShell সেশনে একটি Snap-In লোড করতে Add-PSSnapin কমান্ড ব্যবহার করা হয়।

    Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
    
  2. Snap-In লোডের পরে কমান্ড ব্যবহার করা: Snap-In লোড করার পর আপনি তার মধ্যে অন্তর্ভুক্ত কমান্ড ব্যবহার করতে পারবেন।

    Get-Mailbox  # এটি Exchange Server এর মধ্যে মেইলবক্স তথ্য দেখাবে
    
  3. Snap-In তালিকা করা: সিস্টেমে লোড করা সমস্ত Snap-In দেখতে Get-PSSnapin কমান্ড ব্যবহার করতে পারেন:

    Get-PSSnapin -Registered
    
  4. Snap-In নিবন্ধন করা: নতুন Snap-In নিবন্ধন করতে, Install-PSSnapin কমান্ড ব্যবহার করতে হবে।

    Install-PSSnapin MySnapIn
    

Snap-In এর সুবিধা:

  • ডিপেনডেন্সি: Snap-Ins কিছু নির্দিষ্ট .NET অ্যাসেম্বলির উপর নির্ভরশীল হয়ে কাজ করে, যা জটিল কার্যক্রম পরিচালনায় সহায়তা করে।
  • ঐতিহ্যগত সমাধান: কিছু পুরনো সিস্টেম, বিশেষ করে Exchange বা Active Directory মতো পরিষেবার Snap-In এখনও ব্যবহৃত হয়।

Modules এবং Snap-Ins এর মধ্যে পার্থক্য

বিষয়ModulesSnap-Ins
প্রযুক্তিPowerShell স্ক্রিপ্ট (.psm1 ফাইল).NET অ্যাসেম্বলি যা PowerShell সেশনে লোড করা হয়
লক্ষ্যসাধারণত ফাংশন, কমান্ড, স্ক্রিপ্ট এবং ভেরিয়েবল তৈরি করেনির্দিষ্ট সিস্টেম বা পরিষেবা ম্যানেজমেন্ট সরঞ্জাম
কাস্টমাইজেশনসম্পূর্ণ কাস্টমাইজযোগ্য, ব্যবহারকারীর জন্য তৈরি করা যায়সাধারণত নির্দিষ্ট পরিষেবার জন্য তৈরি করা হয়
উপকারিতামডিউলগুলির ব্যবহার সহজ এবং এগুলি বেশি ফ্লেক্সিবলSnap-Ins কিছু শক্তিশালী এবং পেশাদারী পরিষেবা ম্যানেজমেন্ট সরঞ্জাম সরবরাহ করে
সমর্থনPowerShell 3.0 এবং তার পরবর্তী সংস্করণমূলত PowerShell 2.0 এবং তার পূর্ববর্তী সংস্করণ

উপসংহার

PowerShell-এ Modules এবং Snap-Ins দুটি খুবই গুরুত্বপূর্ণ টুল যা আপনাকে PowerShell সেশনে নতুন কমান্ড এবং কার্যকলাপ যোগ করার সুযোগ দেয়। Modules আধুনিক, ফ্লেক্সিবল এবং পুনঃব্যবহারযোগ্য, য while Snap-Ins পুরনো এবং .NET ভিত্তিক অ্যাসেম্বলি হিসেবে কাজ করে, যা কিছু নির্দিষ্ট পরিষেবার জন্য প্রয়োজনীয় হতে পারে।

Content added By

PowerShell Module কী এবং এর ব্যবহার

319

PowerShell Module হল একটি কোডের সেট যা এক বা একাধিক কমান্ড, ফাংশন, ভেরিয়েবল এবং আরও অনেক কিছু ধারণ করে। এটি PowerShell স্ক্রিপ্টের পুনঃব্যবহারযোগ্য ইউনিট হিসেবে কাজ করে। Modularity-এর মাধ্যমে, আপনি একই কোড পুনরায় ব্যবহার করতে পারবেন এবং কমপ্লেক্স কাজগুলো সহজভাবে বিভক্ত করতে পারবেন। PowerShell মডিউলগুলি আপনাকে নির্দিষ্ট কাজের জন্য প্রয়োজনীয় ফাংশন এবং কমান্ডগুলো একত্রে প্যাকেজ করে সংরক্ষণ করতে সাহায্য করে।


PowerShell Module এর বৈশিষ্ট্য

PowerShell মডিউল সাধারণত ফাংশন, কমান্ডলেট (Cmdlet), ভেরিয়েবল, কনস্ট্যান্ট, এবং এমনকি এ্যালিয়াস-এর একটি গ্রুপ হতে পারে। এটি বিভিন্ন ব্যবহারকারী বা স্ক্রিপ্টের মধ্যে কোড শেয়ারিং এবং রিইউজের সুযোগ তৈরি করে।

PowerShell মডিউলের প্রধান বৈশিষ্ট্য:

  • পুনঃব্যবহারযোগ্য: একবার তৈরি করা মডিউল অন্য সবার দ্বারা ব্যবহার করা যেতে পারে।
  • কোড সংগঠন: কমপ্লেক্স স্ক্রিপ্ট বা কোডকে ছোট ছোট অংশে বিভক্ত করে, যা সহজে পরিচালনা করা যায়।
  • ভার্সনিং: মডিউলের বিভিন্ন ভার্সন সংরক্ষণ এবং ব্যবস্থাপনা করা সম্ভব।
  • এনক্যাপসুলেশন: মডিউল শুধুমাত্র প্রয়োজনীয় কমান্ড এবং ফাংশনগুলি প্রকাশ করে, বাকি অংশ গোপন থাকে।

PowerShell Module তৈরি এবং ব্যবহার

PowerShell মডিউল তৈরি করা খুবই সহজ। আপনি একটি .psm1 ফাইল তৈরি করে মডিউল লিখতে পারেন এবং প্রয়োজনীয় ফাংশন বা কমান্ড সেই ফাইলে সংরক্ষণ করতে পারেন।

মডিউল তৈরি করা:

ধরা যাক, আমরা একটি মডিউল তৈরি করতে চাই যা দুটি সংখ্যা যোগ এবং গুণ করার ফাংশন সরবরাহ করবে। আমরা একটি MathFunctions.psm1 নামক মডিউল ফাইল তৈরি করতে পারি।

  1. MathFunctions.psm1:

    function Add-Numbers {
        param(
            [int]$a,
            [int]$b
        )
        return $a + $b
    }
    
    function Multiply-Numbers {
        param(
            [int]$a,
            [int]$b
        )
        return $a * $b
    }
    

এখানে MathFunctions.psm1 একটি PowerShell মডিউল যা দুটি ফাংশন—Add-Numbers এবং Multiply-Numbers—সরবরাহ করছে।

মডিউল ব্যবহার করা:

মডিউলটি ব্যবহার করতে, আপনাকে প্রথমে সেটি ইম্পোর্ট করতে হবে। PowerShell-এ মডিউল ইম্পোর্ট করতে Import-Module কমান্ড ব্যবহার করা হয়:

Import-Module "C:\Path\To\MathFunctions.psm1"

এখন, আপনি মডিউলের ফাংশনগুলো ব্যবহার করতে পারবেন:

Add-Numbers -a 5 -b 10  # আউটপুট হবে 15
Multiply-Numbers -a 5 -b 10  # আউটপুট হবে 50

এখানে, আপনি Add-Numbers এবং Multiply-Numbers ফাংশনগুলির মাধ্যমে মডিউলটির কার্যকারিতা ব্যবহার করেছেন।


মডিউল সম্পর্কে কিছু গুরুত্বপূর্ণ তথ্য

মডিউল ইনস্টলেশন:

PowerShell গ্যালারি থেকে মডিউল ইনস্টল করা সম্ভব। আপনি PowerShell Gallery থেকে সহজেই একটি মডিউল ডাউনলোড এবং ইনস্টল করতে পারেন।

Install-Module -Name Az -Scope CurrentUser

এখানে Az একটি মডিউল যা Azure-এ কাজ করার জন্য ব্যবহৃত হয়।

মডিউল ইম্পোর্ট:

যে মডিউলটি আপনি ব্যবহার করতে চান, সেটি ইম্পোর্ট করার জন্য Import-Module কমান্ড ব্যবহার করতে হয়। একটি মডিউল ইম্পোর্ট করার পর, আপনি তার সকল ফাংশন এবং কমান্ড ব্যবহার করতে পারবেন।

Import-Module Az

মডিউল দেখতে:

PowerShell-এ সকল ইনস্টল করা মডিউল দেখতে, Get-Module -ListAvailable কমান্ড ব্যবহার করতে পারেন:

Get-Module -ListAvailable

এটি আপনার সিস্টেমে ইনস্টল করা সকল মডিউল দেখাবে।

মডিউল সরানো:

যদি আপনি কোনো মডিউল সরাতে চান, তাহলে Remove-Module কমান্ড ব্যবহার করতে পারেন:

Remove-Module Az

PowerShell মডিউল ব্যবহারের কিছু উদাহরণ

1. Azure মডিউল ব্যবহার করা:

PowerShell ব্যবহারকারীরা Azure ম্যানেজমেন্টের জন্য Az মডিউলটি ব্যবহার করে থাকেন। এই মডিউলটি Microsoft Azure-এর বিভিন্ন সেবা এবং রিসোর্স ম্যানেজ করার জন্য ফাংশন প্রদান করে।

Install-Module -Name Az -Scope CurrentUser
Import-Module Az
Connect-AzAccount    # Azure-এ লগ ইন করা

2. Active Directory মডিউল ব্যবহার করা:

Active Directory সম্পর্কিত কাজের জন্য ActiveDirectory মডিউলটি ব্যবহার করা যায়। এটি ব্যবহারকারীদের অ্যাকাউন্ট তৈরি, মোছা, অথবা অনুসন্ধান করার সুবিধা দেয়।

Install-Module -Name ActiveDirectory -Scope CurrentUser
Import-Module ActiveDirectory
Get-ADUser -Filter *   # সব ব্যবহারকারী দেখতে

3. PowerShell মডিউল থেকে ফাংশন কল করা:

মডিউল থেকে ফাংশন বা কমান্ড কল করার জন্য আপনি সোজা মডিউল থেকে ফাংশনগুলির নাম ব্যবহার করতে পারেন।

# যদি MathFunctions.psm1 মডিউলটি ইম্পোর্ট করা থাকে
Add-Numbers -a 10 -b 20    # আউটপুট হবে 30

PowerShell মডিউল তৈরির সময় কিছু পরামর্শ:

  • ফাংশন নামকরণ: মডিউল তৈরি করার সময় ফাংশনের নামগুলো পরিষ্কার এবং বর্ণনামূলক হওয়া উচিত, যাতে ব্যবহারকারী সহজেই বুঝতে পারে কোন কাজের জন্য এটি ব্যবহৃত হবে।
  • মডিউল ফোল্ডার স্ট্রাকচার: সাধারণত PowerShell মডিউলটি একটি ফোল্ডারে থাকে, যেখানে .psm1 ফাইল থাকে। মডিউলটি অন্যান্য ফাইল বা স্ক্রিপ্ট থেকে আছেও।
  • মডিউল ভার্সনিং: মডিউল তৈরি করার সময় আপনি একটি ভার্সন নম্বরও নির্ধারণ করতে পারেন। PowerShell মডিউলের ফাইল নামের শেষে ভার্সন নম্বর রাখা হয়।
$ModuleInfo = Get-Module -Name MyModule
$ModuleInfo.Version

PowerShell মডিউল ব্যবহারে আপনি সহজেই কোড পুনরায় ব্যবহার করতে পারবেন, আপনার কাজগুলো আরো সংগঠিত ও উন্নত করতে পারবেন। PowerShell মডিউলগুলি একাধিক কাজে কাজে লাগতে পারে, যা আপনার স্ক্রিপ্টিং এবং সিস্টেম অ্যাডমিনিস্ট্রেশন কাজে গুরুত্বপূর্ণ ভূমিকা পালন করে।

Content added By

Module ইনস্টল এবং ইমপোর্ট করা (Import-Module)

288

PowerShell-এ Modules একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা আপনাকে অতিরিক্ত ফাংশন, কমান্ডলেট (cmdlet), এবং স্ক্রিপ্ট ব্যবহার করতে দেয়। একাধিক কাজের জন্য নতুন কমান্ড বা ফিচার যোগ করার জন্য আপনি মডিউল ব্যবহার করতে পারেন। PowerShell-এ মডিউল ইনস্টল ও ইমপোর্ট করা অত্যন্ত সহজ এবং এটি আপনার স্ক্রিপ্টের ক্ষমতাকে বাড়িয়ে দেয়।


PowerShell Module কী?

PowerShell মডিউল হল একটি বা একাধিক PowerShell স্ক্রিপ্ট, ফাংশন, কমান্ডলেট, এবং প্যারামিটারস্ সংবলিত একটি প্যাকেজ। এগুলি সাধারণত নির্দিষ্ট কাজের জন্য তৈরি করা হয় এবং PowerShell পরিবেশে পুনরায় ব্যবহারযোগ্য। মডিউলগুলি আপনার স্ক্রিপ্টের কার্যকারিতা বাড়ায় এবং নতুন কমান্ড ও ফাংশন সরবরাহ করে।


Module ইনস্টল করা

PowerShell-এ একটি মডিউল ইনস্টল করার জন্য আপনি সাধারণত PowerShell Gallery ব্যবহার করতে পারেন, যা মডিউলগুলির একটি কেন্দ্রীয় রেপোজিটরি। মডিউল ইনস্টল করতে আপনি Install-Module কমান্ড ব্যবহার করবেন।

Install-Module ব্যবহার

Install-Module -Name <ModuleName> -Scope CurrentUser

এখানে, <ModuleName> হচ্ছে সেই মডিউলের নাম যা আপনি ইনস্টল করতে চান। উদাহরণস্বরূপ, যদি আপনি Az মডিউল ইনস্টল করতে চান, যা Azure এর সাথে কাজ করতে ব্যবহৃত হয়, তাহলে কমান্ডটি হবে:

Install-Module -Name Az -Scope CurrentUser
  • -Scope CurrentUser: এটি ইনস্টলেশনটি আপনার ব্যবহারকারীর জন্যই করবে, সিস্টেম-স্তরের ইনস্টলেশন এড়াতে।

মডিউল ইনস্টল করার সময় কিছু অপশন:

  • -Force: যদি আপনি পূর্বে ইনস্টল করা একই মডিউলকে ওভাররাইট করতে চান, তাহলে এই অপশনটি ব্যবহার করতে পারেন।
  • -AllowClobber: যদি কোনো মডিউল পূর্বের মডিউল দ্বারা সংজ্ঞায়িত কমান্ডলেটগুলির সাথে সংঘর্ষ সৃষ্টি করে, তবে এই অপশনটি ব্যবহার করা হয়।

PowerShell Gallery থেকে মডিউল অনুসন্ধান

PowerShell Gallery থেকে মডিউল অনুসন্ধান করতে Find-Module কমান্ড ব্যবহার করা হয়:

Find-Module -Name <ModuleName>

এটি PowerShell Gallery থেকে মডিউলটির উপস্থিতি পরীক্ষা করে দেখাবে। উদাহরণস্বরূপ:

Find-Module -Name Az

Module ইমপোর্ট করা (Import-Module)

একবার একটি মডিউল ইনস্টল করা হলে, আপনাকে সেটি ইমপোর্ট করতে হবে, যাতে আপনি তার কমান্ড এবং ফাংশন ব্যবহার করতে পারেন। মডিউল ইমপোর্ট করার জন্য Import-Module কমান্ড ব্যবহার করা হয়।

Import-Module ব্যবহার

Import-Module -Name <ModuleName>

এখানে, <ModuleName> হলো ইনস্টল করা মডিউলের নাম। উদাহরণস্বরূপ, যদি আপনি Az মডিউলটি ইমপোর্ট করতে চান, তাহলে কমান্ডটি হবে:

Import-Module -Name Az

এটি Az মডিউলটি PowerShell সেশনে লোড করে, এবং আপনি মডিউলের সব ফাংশন এবং কমান্ড ব্যবহার করতে পারবেন।

মডিউল লোড বা ইমপোর্টের পর চেক করা

একবার মডিউল ইমপোর্ট করলে, আপনি এটি লোড হয়েছে কিনা তা চেক করতে Get-Module কমান্ড ব্যবহার করতে পারেন:

Get-Module -Name Az

এটি মডিউলটি বর্তমানে PowerShell সেশনে লোড করা আছে কিনা তা জানাবে।


Module ম্যানেজমেন্ট

PowerShell মডিউল ম্যানেজমেন্টে আরও কিছু গুরুত্বপূর্ণ কমান্ড রয়েছে, যা আপনাকে মডিউল সম্পর্কে তথ্য পেতে সাহায্য করে।

লোড করা সব মডিউল দেখতে:

Get-Module

এটি PowerShell সেশনে বর্তমানে লোড করা সব মডিউল দেখাবে।

মডিউল আনইনস্টল করা

কোনো মডিউল আনইনস্টল করতে Uninstall-Module কমান্ড ব্যবহার করা হয়:

Uninstall-Module -Name <ModuleName>

এটি মডিউলটি আপনার সিস্টেম থেকে সরিয়ে দেবে।

মডিউল আপডেট করা

মডিউল আপডেট করতে Update-Module কমান্ড ব্যবহার করতে হয়:

Update-Module -Name <ModuleName>

এটি মডিউলটির সর্বশেষ সংস্করণ ইনস্টল করবে।


উপসংহার

PowerShell মডিউলগুলি অত্যন্ত কার্যকরী টুল, যা আপনাকে নতুন কমান্ড, ফাংশন এবং স্ক্রিপ্টের মাধ্যমে আপনার স্ক্রিপ্টিং কাজকে আরও শক্তিশালী এবং দক্ষ করে তোলে। মডিউল ইনস্টল এবং ইমপোর্ট করার মাধ্যমে আপনি আপনার স্ক্রিপ্টের কর্মক্ষমতা বৃদ্ধি করতে পারেন এবং নতুন ফিচারের সাথে কাজ করতে পারেন।

Content added By

Snap-Ins এবং Custom Module তৈরি

232

PowerShell-এ Snap-Ins এবং Custom Modules দুটি গুরুত্বপূর্ণ উপাদান, যা আপনাকে PowerShell এর কার্যকারিতা সম্প্রসারিত (extend) করতে সহায়তা করে। Snap-Ins সাধারণত .NET বেসড কম্পাইলড কোডের মাধ্যমে ফাংশনালিটি যোগ করে, এবং Custom Modules PowerShell স্ক্রিপ্ট বা কমান্ডলেটের মাধ্যমে ফাংশনালিটি যোগ করে। নিচে আমরা বিস্তারিতভাবে এই দুটি উপাদান সম্পর্কে আলোচনা করব।


PowerShell Snap-Ins

Snap-Ins হল কম্পাইলড .NET অ্যাসেম্বলি (.dll) যা PowerShell-এর সাথে ইন্টিগ্রেটেড হয়ে নতুন কমান্ডলেট (cmdlets), ফাংশন, কনফিগারেশন, এবং প্যারামিটার যোগ করতে সক্ষম। এগুলো মূলত PowerShell-এর কার্যকারিতা সম্প্রসারণ করতে ব্যবহৃত হয়। Snap-In একটি ধরনের প্যাকেজ, যা PowerShell সেশন শুরু করার সময় লোড হয় এবং তার মাধ্যমে বিভিন্ন টুলস ও ফিচার অ্যাক্সেস করা যায়।

Snap-In তৈরি করা:

PowerShell Snap-In তৈরি করতে হলে আপনাকে .NET Framework ব্যবহার করে একটি কাস্টম .DLL ফাইল তৈরি করতে হবে। নিচে Snap-In তৈরির একটি সাধারণ প্রক্রিয়া দেওয়া হলো:

  1. .NET Class Library তৈরি:
    • Visual Studio ব্যবহার করে একটি Class Library প্রজেক্ট তৈরি করুন।
    • প্রজেক্টে একটি বা একাধিক PowerShell কমান্ডলেট (cmdlets) যোগ করুন।
  2. PowerShell Cmdlet কোড লেখা: নিচে একটি সহজ PowerShell Cmdlet উদাহরণ দেওয়া হলো যা Get-Greeting নামে একটি কমান্ড তৈরি করবে।

    using System.Management.Automation;
    
    [Cmdlet(VerbsCommon.Get, "Greeting")]
    public class GetGreetingCmdlet : Cmdlet
    {
        protected override void ProcessRecord()
        {
            WriteObject("Hello from PowerShell Snap-In!");
        }
    }
    
  3. Snap-In Register করা:

    • অ্যাসেম্বলি কম্পাইল করার পর, PowerShell সেশন শুরু করতে Add-PSSnapin কমান্ড ব্যবহার করা যেতে পারে।
    Add-PSSnapin MyCustomSnapIn
    

Snap-In ব্যবহারের উদাহরণ:

Add-PSSnapin MyCustomSnapIn
Get-Greeting

এখানে, Get-Greeting একটি কাস্টম কমান্ডলেট, যা "Hello from PowerShell Snap-In!" মেসেজটি আউটপুট হিসেবে প্রদর্শন করবে।


PowerShell Custom Modules

Custom Modules হল PowerShell স্ক্রিপ্টের একটি প্যাকেজ, যা একাধিক কমান্ডলেট, ফাংশন, ভেরিয়েবল এবং অন্য কোন কোডের অংশকে একত্রিত করে। Modules PowerShell স্ক্রিপ্টের মাধ্যমে সরাসরি কার্যকারিতা যোগ করে, এবং এগুলি সহজে তৈরি করা যায় এবং পুনঃব্যবহারযোগ্য।

Custom Module তৈরি করা:

  1. Module ফোল্ডার তৈরি: PowerShell module সাধারণত একটি ফোল্ডারে রাখা হয়, যেখানে .psm1 এক্সটেনশন দিয়ে মডিউল ফাইল সংরক্ষিত থাকে। আপনি একটি ফোল্ডার তৈরি করতে পারেন যেমন C:\Program Files\WindowsPowerShell\Modules\MyModule
  2. Module Script লেখা: মডিউল ফাইলের মধ্যে ফাংশন, কমান্ডলেট, বা স্ক্রিপ্ট সংজ্ঞায়িত করুন। উদাহরণস্বরূপ, MyModule.psm1 ফাইলে একটি সাধারণ ফাংশন তৈরি করা যেতে পারে:

    function Get-Greeting {
        Write-Host "Hello from PowerShell Module!"
    }
    
  3. Module Export করা: একটি মডিউলে বিভিন্ন ফাংশন বা কমান্ডলেট যোগ করতে চাইলে, Export-ModuleMember কমান্ড ব্যবহার করতে পারেন।

    Export-ModuleMember -Function Get-Greeting
    
  4. Module লোড করা: PowerShell সেশনে মডিউল লোড করতে Import-Module কমান্ড ব্যবহার করতে হবে।

    Import-Module MyModule
    

Custom Module ব্যবহারের উদাহরণ:

Import-Module MyModule
Get-Greeting

এখানে, Get-Greeting ফাংশনটি "Hello from PowerShell Module!" আউটপুট করবে।


Snap-Ins এবং Modules এর মধ্যে পার্থক্য

  • Snap-Ins:
    • কম্পাইলড .NET কোড (.dll) ব্যবহার করে তৈরি হয়।
    • এটি PowerShell সেশনে একটি প্যাকেজ হিসেবে লোড হয় এবং বিভিন্ন কমান্ডলেট যোগ করে।
    • Snap-In তৈরি করতে প্রোগ্রামিং ভাষা (যেমন C#) জানতে হবে।
  • Modules:
    • PowerShell স্ক্রিপ্ট (.psm1) হিসেবে তৈরি হয়।
    • সহজে PowerShell সেশন বা স্ক্রিপ্টে লোড করা যায়।
    • এগুলো সাধারণত স্ক্রিপ্ট এবং ফাংশন সমন্বিত করে তৈরি করা হয়, এবং কমপ্লেক্স কোডের জন্য ব্যবহার হয়।

Module এবং Snap-In এর ব্যবহার

Module:

  • Reusable scripts: আপনি একটি module তৈরি করে সহজেই একাধিক স্ক্রিপ্ট এবং ফাংশন পুনঃব্যবহার করতে পারেন।
  • Easier distribution: Module ফাইলগুলো সহজেই অন্য সিস্টেমে পাঠানো যায় এবং ইনস্টল করা যায়।

Snap-In:

  • Better Performance: Snap-Ins সাধারণত কম্পাইলড কোড হওয়ায়, দ্রুত এবং কার্যকরীভাবে কাজ করে।
  • Integration with .NET: যদি আপনি .NET ফ্রেমওয়ার্কের সাথে কাজ করেন, তাহলে Snap-In আরও সুবিধাজনক হতে পারে।

উপসংহার

PowerShell-এ Snap-Ins এবং Custom Modules দুটি অত্যন্ত গুরুত্বপূর্ণ উপাদান, যা আপনাকে PowerShell-এর কার্যকারিতা সম্প্রসারণ করতে সাহায্য করে। Snap-Ins সাধারণত .NET কম্পাইলড কোডের মাধ্যমে ব্যবহৃত হয় এবং এগুলি দ্রুত কার্যক্ষমতা প্রদান করে, যখন Custom Modules PowerShell স্ক্রিপ্টের মাধ্যমে তৈরি করা হয় এবং সহজে লোড ও ব্যবহৃত হয়।

Content added By

Module Version Management এবং Update

344

PowerShell-এ Modules হল কমান্ড, ফাংশন, এবং অন্যান্য স্ক্রিপ্টের একটি সেট যা নির্দিষ্ট কাজ সম্পাদন করার জন্য ব্যবহার করা হয়। PowerShell Module-এ বিভিন্ন কমান্ড বা ফাংশন থাকতে পারে এবং এটি পুনঃব্যবহারযোগ্য কোড সংরক্ষণ এবং শেয়ার করার একটি উপায়। PowerShell Module এর একটি গুরুত্বপূর্ণ দিক হলো Version Management (সংস্করণ ব্যবস্থাপনা) এবং Update (আপডেট) করা। এটি নিশ্চিত করে যে আপনি সর্বশেষ ফিচার এবং বাগ ফিক্স ব্যবহার করছেন।


PowerShell Module Version Management

PowerShell Modules এর বিভিন্ন সংস্করণ থাকতে পারে। PowerShell 5.0 এবং তার পরবর্তী সংস্করণগুলোতে Module Versioning (মডিউল সংস্করণ নিয়ন্ত্রণ) সিস্টেম রয়েছে, যা মডিউলের বিভিন্ন সংস্করণের মধ্যে পার্থক্য করতে এবং সঠিক সংস্করণ নির্বাচন করতে সাহায্য করে।

1. মডিউল সংস্করণ চেক করা

PowerShell মডিউল ইনস্টল করা হলে তার সংস্করণ চেক করতে আপনি Get-Module কমান্ড ব্যবহার করতে পারেন। যদি আপনি কোনো মডিউলের সংস্করণ দেখতে চান, তাহলে আপনি -ListAvailable প্যারামিটার ব্যবহার করবেন।

Get-Module -ListAvailable -Name <ModuleName>

যেমন:

Get-Module -ListAvailable -Name AzureRM

এটি মডিউল AzureRM এর উপলব্ধ সংস্করণগুলো দেখাবে।

2. মডিউল সংস্করণ নির্দিষ্ট করা

কখনও কখনও, আপনি যদি একটি নির্দিষ্ট সংস্করণ ব্যবহার করতে চান, তবে আপনি মডিউলটি সেই সংস্করণে ইনস্টল করতে পারবেন। উদাহরণস্বরূপ:

Install-Module -Name AzureRM -RequiredVersion 6.13.1

এটি AzureRM মডিউলের সংস্করণ 6.13.1 ইনস্টল করবে।

3. মডিউল সংস্করণ আপগ্রেড করা

আপনি যদি একটি মডিউলের নতুন সংস্করণ ইনস্টল করতে চান, তাহলে Update-Module কমান্ড ব্যবহার করতে পারেন। উদাহরণস্বরূপ:

Update-Module -Name AzureRM

এটি AzureRM মডিউলটি সর্বশেষ সংস্করণে আপডেট করবে, যদি আপনার সিস্টেমে তার আগের সংস্করণ ইনস্টল করা থাকে।


PowerShell Module Update

PowerShell মডিউল আপডেট করার সময় কিছু বিষয় মাথায় রাখা উচিত:

1. Module Update চেক করা

আপনার সিস্টেমে মডিউলগুলোর আপডেট আছে কি না তা চেক করতে Find-Module কমান্ড ব্যবহার করা যেতে পারে:

Find-Module -Name <ModuleName>

যেমন:

Find-Module -Name AzureRM

এটি আপনি যে মডিউলটি চেক করছেন তার সর্বশেষ সংস্করণ এবং উপলব্ধ অন্যান্য সংস্করণ দেখাবে।

2. Module Update করার আগে, পুরানো সংস্করণটি আনইনস্টল করা

কখনও কখনও, একটি মডিউল আপডেট করার আগে, পুরানো সংস্করণ আনইনস্টল করা প্রয়োজন হতে পারে। এটি করতে, আপনি Uninstall-Module কমান্ড ব্যবহার করতে পারেন:

Uninstall-Module -Name AzureRM

এর পর, আপনি Install-Module ব্যবহার করে সর্বশেষ সংস্করণ ইনস্টল করতে পারবেন।

3. Module Update করার জন্য সর্বশেষ সংস্করণ ইনস্টল করা

আপনি একটি মডিউলের সর্বশেষ সংস্করণ ইনস্টল করতে চাইলে Install-Module কমান্ডটি ব্যবহার করবেন:

Install-Module -Name AzureRM -Force

এটি AzureRM মডিউলের সর্বশেষ সংস্করণ ইনস্টল করবে, এবং যদি পূর্বে কোনো সংস্করণ ইনস্টল করা থাকে তবে এটি ঐ সংস্করণটি প্রতিস্থাপন করবে।

4. প্রত্যেকটি মডিউলের জন্য নির্দিষ্ট সংস্করণ ব্যবহার

যদি আপনার কাছে একটি নির্দিষ্ট সংস্করণের প্রয়োজন হয় এবং সেই সংস্করণটি আপডেট করতে চান না, তবে -RequiredVersion প্যারামিটার ব্যবহার করে আপনি নির্দিষ্ট সংস্করণ ইনস্টল করতে পারেন।

Install-Module -Name AzureRM -RequiredVersion 6.13.1

এটি AzureRM মডিউলের সংস্করণ 6.13.1 ইনস্টল করবে।

5. PowerShell Gallery থেকে Module আপডেট করা

PowerShell মডিউলগুলো সাধারণত PowerShell Gallery থেকে ইনস্টল করা হয়। যদি আপনার মডিউলটি PowerShell Gallery থেকে আপডেট করতে চান, তবে এটি করতে পারেন Update-Module কমান্ডের মাধ্যমে:

Update-Module -Name AzureRM

এটি স্বয়ংক্রিয়ভাবে আপনার মডিউলের সর্বশেষ সংস্করণ ইনস্টল করবে।


মডিউল সংস্করণ এবং আপডেট সম্পর্কিত কিছু গুরুত্বপূর্ণ টিপস

  1. অ্যাডমিনিস্ট্রেটর হিসেবে চলান: মডিউল ইনস্টল বা আপডেট করার জন্য কখনও কখনও আপনাকে অ্যাডমিনিস্ট্রেটর হিসেবে PowerShell চালাতে হতে পারে।
  2. নির্দিষ্ট সংস্করণ ব্যবহার করুন: যদি কোনও নির্দিষ্ট সংস্করণ প্রয়োজন হয়, তবে -RequiredVersion প্যারামিটার ব্যবহার করে সেই সংস্করণ ইনস্টল করুন।
  3. PowerShell 7 এবং আগের সংস্করণ: PowerShell 7 এবং পরবর্তী সংস্করণে মডিউল কম্প্যাটিবিলিটি এবং ইনস্টলেশন প্রক্রিয়া কিছুটা আলাদা হতে পারে, তাই আপনি প্রয়োজনে সংস্করণ অনুযায়ী মডিউল ইনস্টল করুন।
  4. ডিপেনডেন্সি সমস্যা: কখনও কখনও, মডিউল আপডেট করার পর নির্ভরশীল অন্যান্য মডিউল বা কম্প্যাটিবিলিটি সমস্যা হতে পারে, তাই আপডেটের আগে তার ডিপেনডেন্সি চেক করুন।

এইভাবে PowerShell-এ মডিউল সংস্করণ ব্যবস্থাপনা এবং আপডেট করা সহজে করা সম্ভব। এটি আপনাকে সর্বশেষ বৈশিষ্ট্য এবং বাগ ফিক্স পেতে সাহায্য করবে।

Content added By
Promotion

Are you sure to start over?

Loading...