সর্বাধিক জনপ্রিয় PowerShell মডিউল অফিসিয়াল PowerShell গ্যালারি (PSGallery
থেকে অনলাইনে ইনস্টল করা হয় ) ইনস্টল-মডিউল ব্যবহার করে সংগ্রহস্থল আদেশ যাইহোক, যদি আপনার কম্পিউটার একটি বিচ্ছিন্ন নেটওয়ার্কে থাকে বা PSRepository-এ সরাসরি অ্যাক্সেস সীমাবদ্ধ থাকে তবে আপনি একটি PowerShell মডিউল ইনস্টল করতে পারবেন না। আপনি যখন উইন্ডোজ সার্ভার হোস্টে পাওয়ারশেল মডিউল ইনস্টল করার চেষ্টা করছেন তখন এটি সত্য, যেখানে সাধারণত সরাসরি ইন্টারনেট অ্যাক্সেস ব্লক থাকে। এই নিবন্ধে, আমরা দেখাব কিভাবে PowerShell মডিউলগুলি অফলাইনে ইনস্টল করতে হয় এবং একটি দূরবর্তী কম্পিউটার থেকে একটি মডিউল আমদানি করতে হয় (উদাহরণস্বরূপ, SQLServer ব্যবস্থাপনা PoSh মডিউল ব্যবহার করার সময়)।
মনে রাখবেন PowershellGallery.com থেকে মডিউল ডাউনলোড করার জন্য কোন সরাসরি লিঙ্ক নেই। আপনি সাইট থেকে ডাউনলোড করতে পারেন একমাত্র জিনিস NuGet প্যাকেজ (a .nupkg ফাইল)। আপনি NUPKG ফাইল থেকে একটি PowerShell মডিউল ইনস্টল করতে পারেন, কিন্তু এটি একটি সম্পূর্ণ মডিউল ইনস্টলেশন হবে না (মূল সমস্যা হল নির্ভরতাগুলি সমাধান করা হয়নি)৷
অফলাইন কম্পিউটারে পাওয়ারশেল মডিউল কীভাবে ইনস্টল করবেন?
প্রথমত, ইন্টারনেট অ্যাক্সেস সহ একটি কম্পিউটারে আপনার প্রয়োজনীয় PowerShell মডিউলটি ইনস্টল করুন৷
৷ PowerShell সংস্করণ 5.1 বা নতুন কম্পিউটারে ইনস্টল করা আবশ্যক:
$PSVersionTable.PSVersion
নিশ্চিত করুন যে মডিউলটি PSGallery-এ বিদ্যমান রয়েছে:
Find-Module –Name *SqlServer*| Select Name, Version, Repository
নির্বাচন করুন
আপনার কম্পিউটারে নির্দিষ্ট স্থানীয় ফোল্ডারে মডিউলটি ডাউনলোড করুন:
Save-Module –Name SqlServer –Path C:\PS\
ফোল্ডারটি অন্য কম্পিউটারে অনুলিপি করুন যেখানে আপনি মডিউলটি ইনস্টল করতে চান৷
৷আসুন দেখি কোন ফোল্ডারে PowerShell মডিউল সংরক্ষণ করা হয়:
$env:PSModulePath -split ";"
আপনি দেখতে পাচ্ছেন, পাওয়ারশেল মডিউলগুলি নিম্নলিখিত পথগুলির মধ্যে একটিতে অবস্থিত:
C:\Users\username\Documents\WindowsPowerShell\Modules
($Home\Documents\PowerShell\Modules
) – এই ফোল্ডারের পাওয়ারশেল মডিউলগুলি শুধুমাত্র এই ব্যবহারকারীর জন্য উপলব্ধ (কারেন্ট ইউজার);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
একইভাবে, আপনি যেকোনো মডিউল ইনস্টল করতে পারেন। VMWare মডিউলগুলির জন্য আমি প্রায়শই SQLServer, PSWindowsUpdate, বা PowerCLI ইনস্টল করতে এই পদ্ধতিটি ব্যবহার করি৷
সুস্পষ্ট কারণে, অফলাইন ডিভাইসে AzureAD এবং Exchange Online PowerShell মডিউল ইনস্টল করার কোন মানে হয় না।একটি দূরবর্তী কম্পিউটার থেকে পাওয়ারশেল মডিউল আমদানি করুন
আপনি যদি সমস্ত কম্পিউটারে একটি PowerShell মডিউল ইনস্টল করতে না চান, তাহলে আপনি PSRemoting ব্যবহার করে দূরবর্তী কম্পিউটার থেকে যেকোনো মডিউল আমদানি করতে পারেন:
$session = New-PSSession -ComputerName dub-sql1
দূরবর্তী কম্পিউটারে ইনস্টল করা মডিউলগুলির একটি তালিকা প্রদর্শন করতে:
Get-Module -PSSession $session –ListAvailable
আপনার কম্পিউটারে নির্দিষ্ট পাওয়ারশেল মডিউল আমদানি করতে:
Import-Module -PSsession $session -Name SqlServer
আপনি শেষ হয়ে গেলে সেশনটি বন্ধ করতে ভুলবেন না:
Remove-PSSession $session
ইমপ্লিসিট রিমোটিং এর মাধ্যমে দূরবর্তী কম্পিউটারে ইনস্টল করা একটি PowerShell মডিউল স্থানীয়ভাবে ব্যবহার করার আরেকটি আকর্ষণীয় উপায় .
Invoke-Command ব্যবহার করে একটি দূরবর্তী কম্পিউটারের সাথে সংযোগ করুন এবং আপনি যে PowerShell মডিউলটি চান তা আমদানি করুন:$session = New-PSSession -ComputerName dub-sql1
Invoke-Command {Import-Module SqlServer} -Session $session
দূরবর্তী অধিবেশন থেকে স্থানীয় মডিউলে মডিউল cmdlets রপ্তানি করুন:
Export-PSSession -Session $s -CommandName *-Sql* -OutputModule RemoteSQLServer -AllowClobber
কমান্ডটি আপনার কম্পিউটারে একটি নতুন RemoteSQLServer PowerShell মডিউল তৈরি করে (C:\Program Files\WindowsPowerShell\Modules-এ)। cmdlet ফাইল নিজেই কপি করা হয় না।
অধিবেশন বন্ধ করুন:
Remove-PSSession $session
তারপর এই মডিউল থেকে PowerShell cmdlets ব্যবহার করতে, আপনাকে কেবল সেগুলিকে সেশনে আমদানি করতে হবে:
Import-Module RemoteSQLServer
সমস্ত SQL মডিউল cmdlets দূরবর্তী কম্পিউটারে একটি সুস্পষ্ট সংযোগ স্থাপন ছাড়াই উপলব্ধ হবে৷ Invoke-Sqlcmd ব্যবহার করে MS SQL ডাটাবেস জিজ্ঞাসা করার চেষ্টা করুন। আপনি আপনার PowerShell কনসোল বন্ধ না করা বা মডিউলটি সরিয়ে না দেওয়া পর্যন্ত সমস্ত MSSQL কমান্ড উপলব্ধ থাকে৷