सबसे लोकप्रिय पावरशेल मॉड्यूल आधिकारिक पावरशेल गैलरी (PSGallery
. से ऑनलाइन इंस्टॉल किए गए हैं ) इंस्टॉल-मॉड्यूल . का उपयोग करके रिपॉजिटरी आदेश। हालाँकि, यदि आपका कंप्यूटर एक अलग नेटवर्क में है या PSRepository तक सीधी पहुँच प्रतिबंधित है, तो आप PowerShell मॉड्यूल स्थापित करने में सक्षम नहीं होंगे। जब आप Windows सर्वर होस्ट पर PowerShell मॉड्यूल को स्थापित करने का प्रयास कर रहे होते हैं, तो वही सच होता है, जिसमें आमतौर पर सीधे इंटरनेट का उपयोग अवरुद्ध होता है। इस लेख में, हम दिखाएंगे कि पावरशेल मॉड्यूल ऑफ़लाइन कैसे स्थापित करें और दूरस्थ कंप्यूटर से मॉड्यूल आयात करें (उदाहरण के लिए, SQLServer प्रबंधन PoSh मॉड्यूल का उपयोग करते समय)।
ध्यान दें कि PowershellGallery.com से मॉड्यूल डाउनलोड करने के लिए कोई सीधा लिंक नहीं है। केवल एक चीज जिसे आप साइट से डाउनलोड कर सकते हैं वह है NuGet पैकेज (एक .nupkg .) फ़ाइल)। आप NUPKG फ़ाइल से एक 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 ऑनलाइन पावरशेल मॉड्यूल स्थापित करने का कोई मतलब नहीं है।दूरस्थ कंप्यूटर से पावरशेल मॉड्यूल आयात करें
यदि आप सभी कंप्यूटरों पर पावरशेल मॉड्यूल स्थापित नहीं करना चाहते हैं, तो आप PSRemoting का उपयोग करके किसी दूरस्थ कंप्यूटर से किसी भी मॉड्यूल को आयात कर सकते हैं:
$session = New-PSSession -ComputerName dub-sql1
दूरस्थ कंप्यूटर पर स्थापित मॉड्यूल की सूची प्रदर्शित करने के लिए:
Get-Module -PSSession $session –ListAvailable
अपने कंप्यूटर पर निर्दिष्ट पावरशेल मॉड्यूल आयात करने के लिए:
Import-Module -PSsession $session -Name SqlServer
समाप्त होने पर सत्र को बंद करना न भूलें:
Remove-PSSession $session
अंतर्निहित रिमोटिंग . के माध्यम से दूरस्थ कंप्यूटर पर स्थापित पावरशेल मॉड्यूल का स्थानीय रूप से उपयोग करने का एक और दिलचस्प तरीका ।
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 डेटाबेस को क्वेरी करने का प्रयास करें। जब तक आप अपने पावरशेल कंसोल को बंद नहीं करते या मॉड्यूल को हटा नहीं देते, तब तक सभी MSSQL कमांड उपलब्ध हैं।