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

অফলাইন মোডে পাওয়ারশেল মডিউল ইনস্টল করা (ইন্টারনেট অ্যাক্সেস ছাড়া)

সবচেয়ে জনপ্রিয় পাওয়ারশেল মডিউলগুলো অফিসিয়াল পাওয়ারশেল গ্যালারি (PSGallery) রিপোজিটরি থেকে Install-Module কমান্ড ব্যবহার করে অনলাইনে ইনস্টল করা হয়। যাইহোক, আপনি পাওয়ারশেল মডিউল ইনস্টল করতে পারবেন না যদি আপনার কম্পিউটার একটি আইসোলেটেড নেটওয়ার্কে থাকে বা PSRepository-এ সরাসরি অ্যাক্সেস বাধা দেওয়া থাকে। একই কথা হল যখন আপনি উইন্ডোজ সার্ভার হোস্টে পাওয়ারশেল মডিউল ইনস্টল করার চেষ্টা করেন, যারা সাধারণত সরাসরি ইন্টারনেট অ্যাক্সেস ব্লক করে রাখে। এই আর্টিকেলে, আমরা দেখাব কীভাবে অফলাইনে পাওয়ারশেল মডিউল ইনস্টল করতে হয় এবং একটি রিমোট কম্পিউটার থেকে মডিউল ইম্পোর্ট করতে হয় (উদাহরণস্বরূপ, SQLServer ম্যানেজমেন্ট PoSh মডিউল ব্যবহার করার সময়)।

লক্ষ্য করুন যে PowershellGallery.com থেকে মডিউল ডাউনলোড করার জন্য কোনো সরাসরি লিংক নেই। সাইট থেকে আপনি শুধু NuGet প্যাকেজ (একটি .nupkg ফাইল) ডাউনলোড করতে পারেন। আপনি NUPKG ফাইল থেকে একটি পাওয়ারশেল মডিউল ইনস্টল করতে পারেন, কিন্তু এটি একটি সম্পূর্ণ মডিউল ইনস্টলেশন হবে না (মূল সমস্যা হল ডিপেন্ডেন্সিগুলো রেজলভ হয় না)।

অফলাইন মোডে পাওয়ারশেল মডিউল ইনস্টল করা (ইন্টারনেট অ্যাক্সেস ছাড়া)

অফলাইন কম্পিউটারে পাওয়ারশেল মডিউল কীভাবে ইনস্টল করবেন?

প্রথমে, ইন্টারনেট অ্যাক্সেসসহ একটি কম্পিউটারে আপনার প্রয়োজনীয় পাওয়ারশেল মডিউলটি ইনস্টল করুন।

কম্পিউটারে পাওয়ারশেল ভার্সন ৫.১ বা তার नवীনতম সংস্করণ ইনস্টল থাকতে হবে:

$PSVersionTable.PSVersion

নিশ্চিত করুন যে মডিউলটি PSGallery-তে আছে:

Find-Module –Name *SqlServer*| Select Name, Version, Repository

অফলাইন মোডে পাওয়ারশেল মডিউল ইনস্টল করা (ইন্টারনেট অ্যাক্সেস ছাড়া)

মডিউলটি আপনার কম্পিউটারের নির্দিষ্ট লোকাল ফোল্ডারে ডাউনলোড করুন:

Save-Module –Name SqlServer –Path C:\PS\

অফলাইন মোডে পাওয়ারশেল মডিউল ইনস্টল করা (ইন্টারনেট অ্যাক্সেস ছাড়া)

ফোল্ডারটি অন্য কম্পিউটারে কপি করুন যেটিতে আপনি মডিউলটি ইনস্টল করতে চান।

দেখি পাওয়ারশেল মডিউলগুলো কোথায় সংরক্ষিত থাকে:

$env:PSModulePath -split ";"

অফলাইন মোডে পাওয়ারশেল মডিউল ইনস্টল করা (ইন্টারনেট অ্যাক্সেস ছাড়া)

যে দেখা যাচ্ছে, পাওয়ারশেল মডিউলগুলো নিচের পথগুলোর একটিতে থাকে:

  • C:\Users\username\Documents\WindowsPowerShell\Modules ($Home\Documents\PowerShell\Modules) – এই ফোল্ডারে থাকা পাওয়ারশেল মডিউল শুধু এই ব্যবহারকারীর জন্য উপলব্ধ (CurrentUser);
  • C:\Program Files\WindowsPowerShell\Modules ($Env:ProgramFiles\WindowsPowerShell\Modules) — এই পথটি সব কম্পিউটার ব্যবহারকারীর জন্য মডিউল ইনস্টল করতে ব্যবহৃত হয় (-Scope AllUsers);
  • C:\Windows\system32\WindowsPowerShell\v1.0\Modules – বিল্ট-ইন মডিউলের ডিফল্ট ফোল্ডার।

মডিউলটি C:\Program Files\WindowsPowerShell\Modules-এ কপি করুন।

অফলাইন মোডে পাওয়ারশেল মডিউল ইনস্টল করা (ইন্টারনেট অ্যাক্সেস ছাড়া)

নিশ্চিত করুন যে SQLServer মডিউলটি এখন উপলব্ধ:

Get-Module -Name SQLServer -ListAvailable

অফলাইন মোডে পাওয়ারশেল মডিউল ইনস্টল করা (ইন্টারনেট অ্যাক্সেস ছাড়া)

আপনি মডিউল ডিরেক্টরি নিচেরভাবে পেতে পারেন:

(Get-Module -ListAvailable SQLServer).path

অফলাইন মোডে পাওয়ারশেল মডিউল ইনস্টল করা (ইন্টারনেট অ্যাক্সেস ছাড়া)

মডিউলে উপলব্ধ কমান্ডের তালিকা প্রদর্শন করুন:

Get-Command -Module SQLServer

একই পদ্ধতিতে, আপনি যেকোনো মডিউল ইনস্টল করতে পারেন। আমি এই পদ্ধতিটি প্রায়শই SQLServer, PSWindowsUpdate, বা VMWare-এর জন্য PowerCLI মডিউল ইনস্টল করতে ব্যবহার করি।

স্পষ্ট কারণগুলোর জন্য, AzureAD এবং Exchange Online পাওয়ারশেল মডিউল অফলাইন ডিভাইসে ইনস্টল করা অর্থহীন।

রিমোট কম্পিউটার থেকে পাওয়ারশেল মডিউল ইম্পোর্ট করুন

আপনি যদি সব কম্পিউটারে পাওয়ারশেল মডিউল ইনস্টল করতে না চান, তবে PSRemoting ব্যবহার করে যেকোনো মডিউল একটি রিমোট কম্পিউটার থেকে ইম্পোর্ট করতে পারেন:

$session = New-PSSession -ComputerName dub-sql1

রিমোট কম্পিউটারে ইনস্টল করা মডিউল들의 তালিকা দেখতে:

Get-Module -PSSession $session –ListAvailable

নির্দিষ্ট পাওয়ারশেল মডিউল আপনার কম্পিউটারে ইম্পোর্ট করতে:

Import-Module -PSsession $session -Name SqlServer

শেষ হলে সেশনটি বন্ধ করা ভুলবেন না:

Remove-PSSession $session

রিমোট কম্পিউটারে ইনস্টল করা একটি পাওয়ারশেল মডিউল লোকালি ব্যবহার করার আরেকটি দিলচস্প উপায় হল Implicit remoting।

Invoke-Command ব্যবহার করে একটি রিমোট কম্পিউটারের সাথে সংযোগ করুন এবং আপনার পছন্দের পাওয়ারশেল মডিউল ইম্পোর্ট করুন:
$session = New-PSSession -ComputerName dub-sql1
Invoke-Command {Import-Module SqlServer} -Session $session

রিমোট সেশন থেকে মডিউল কমান্ডলেটগুলাকে লোকাল মডিউলে এক্সপোর্ট করুন:

Export-PSSession -Session $s -CommandName *-Sql* -OutputModule RemoteSQLServer -AllowClobber

এই কমান্ডটি আপনার কম্পিউটারে একটি নতুন RemoteSQLServer পাওয়ারশেল মডিউল তৈরি করে (C:\Program Files\WindowsPowerShell\Modules-এ)। কমান্ডলেট ফাইলগুলো কপি হয় না।

সেশন বন্ধ করুন:

Remove-PSSession $session

তারপর এই মডিউল থেকে পাওয়ারশেল কমান্ডলেট ব্যবহার করতে, আপনাকে শুধু সেশনতে ইম্পোর্ট করতে হবে:

Import-Module RemoteSQLServer

সকল SQL মডিউল কমান্ডলেট রিমোট কম্পিউটারের সাথে স্পষ্ট সংযোগ স্থাপন ছাড়াই উপলব্ধ হবে। Invoke-Sqlcmd ব্যবহার করে MS SQL ডাটাবেস ক্যোয়ারী করার চেষ্টা করুন। সমস্ত MSSQL কমান্ড আপনার পাওয়ারশেল কনসোল বন্ধ করার বা মডিউল সরানোর আগ পর্যন্ত উপলব্ধ থাকবে।

  1. উইন্ডোজ ১০ আপডেট ইনস্টল না করে দ্রুত শাট ডাউন করার উপায়

  2. উইন্ডোজ ১০-এ IPv6 কানেক্টিভিটি 'নো ইন্টারনেট অ্যাক্সেস' সমাধান

  3. Windows 10-এ ইন্টারনেট এক্সেস ব্লক করুন — সিকিউর ও সহজ পদ্ধতি

  4. উইন্ডোজ ১১-এ ইন্টারনেট এক্সপ্লোরার অ্যাক্সেস করুন: এজে IE মোড ব্যবহার করুন