आयात-मॉड्यूल Azure विफल रहता है


18

मैं विंडोज 8.1 पर विंडोज एज़्योर पावरशेल मॉड्यूल के साथ काम करने की कोशिश कर रहा हूं। मैंने Azure मॉड्यूल को डाउनलोड और इंस्टॉल किया है और शुरू में मैं "Windows Azure PowerShell" को चला और उपयोग कर सकता हूं जो कि PS है जो कि Azure को लोड करता है। जब मैं सिर्फ एक सादा PS विंडो खोलता हूं और आयात-मॉड्यूल Azure करता हूं, तो यह विफल हो जाता है:

import-module : The specified module 'Azure' was not loaded because no valid module file was found in any module directory.

मुझे संदेह है कि इसे पॉवरशेल संस्करणों या 64 \ 32 बिट संस्करणों के साथ कुछ करना है।

किसी को भी इस के साथ कोई अनुभव है?

जवाबों:


19

Windows Azure SDK बायनेरीज़ और पॉवरशेल cmdlets से संबंधित सभी 32-बिट हैं, यही वजह है कि "Windows Azure Powershell" शॉर्टकट हमेशा 32-बिट शेल लॉन्च करता है।

आप मॉड्यूल मेनिफ़ेस्ट के लिए फ़ाइल सिस्टम पथ को संदर्भित करके Azure मॉड्यूल को मौजूदा PowerShell सत्र में आयात कर सकते हैं:

Import-Module "C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1"

[अद्यतन] नवीनतम Azure में, का उपयोग करें

Import-Module "C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Azure.psd1"

मॉड्यूल को अकेले नाम से एक्सेस करने के लिए, आपको PSModulePathपर्यावरण चर में अपना स्थान शामिल करना होगा (यहाँ डेवलपर्स के लिए विस्तृत विवरण में):

$oldPSModulePath = [Environment]::GetEnvironmentVariable("PSModulePath")

$azureModulePath = "C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\"

$newPSModulePath = $oldPSModulePath,$azureModulePath -join ";" 
[Environment]::SetEnvironmentVariable("PSModulePath",$newPSModulePath)

और अपने शस्त्रागार के लिए एक आशुलिपि अभिव्यक्ति

$env:PSModulePath += ";C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\"
Import-Module Azure # <-- Now you can do this!

आप अपने PowerShell प्रोफ़ाइल में उपरोक्त शामिल कर सकते हैं


2
धन्यवाद, यह 64 बिट पीएस के लिए भी काम करता है। वहाँ 64 बिट PS में भी शॉर्टकट काम करने का एक तरीका है?
itaysk

2
मेरे आदेश के लिए मुझे दौड़ना था: आयात-मॉड्यूल "C: \ Program Files (x86) \ Microsoft SDKs \ Azure \ PowerShell \ ServiceManagement \ Azure. Azure.psd1"
काई जी

7

यदि आपने अभी Azure PowerShell SDK स्थापित किया है, तो पहले कंप्यूटर को पुनरारंभ करें। स्थापना के बाद एक पुनरारंभ की आवश्यकता होती है, अन्यथा यह अपवाद फेंक दिया जाएगा।


1
बिलकुल ऐसा ही था !!!
लुइस गॉविया

1

विंडोज 10 में, पथ बदल गया है। नीचे सही संस्करण देखें:

$oldPSModulePath = [Environment]::GetEnvironmentVariable("PSModulePath")
$azureModulePath = "C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement"
$newPSModulePath = $oldPSModulePath,$azureModulePath -join ";" 

1

Azure संसाधन प्रबंधक मोड मॉड्यूल (2015/09/11) के लिए, निम्नलिखित का उपयोग करें:

import-module "C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ResourceManager\AzureResourceManager\AzureResourceManager.psd1"

0

इंस्टॉलर को प्रशासक के रूप में चलाने की कोशिश करें, इंस्टॉलर निष्पादन योग्य पर क्लिक करके और प्रशासक के रूप में रन चुनें। एक बार पूरा, रिबूट। आप आयात को ऊपर बताए अनुसार भी चला सकते हैं लेकिन आपको नए इंस्टॉलरों के साथ ऐसा करने की आवश्यकता नहीं है।


0

आपके द्वारा इंस्टॉल किए गए एसडीके संस्करण के आधार पर, आपके पास पथ पर "विंडोज एज़्योर" या बस "एज़्योर" फ़ोल्डर हो सकता है।

मेरे सेटअप के लिए, मैं इसका उपयोग करता हूं:

C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure

0

AzureRM के लिए 4.2.1 (इस उत्तर के समय)। इसका मॉड्यूल पथ मेरे मामले में अलग है

$env:PSModulePath += ";C:\Program Files\WindowsPowerShell\Modules\"
Import-module AzureRM

मैं एक x64 मशीन, विंडोज़ 10 ओएस पर इसका उपयोग कर रहा था।

आपको निष्पादन नीतियों की आवश्यकता हो सकती है क्योंकि शक्तियां आयात करने से पहले पुष्टिकरण के लिए पूछती हैं, यहां निष्पादन तेलीयों के लिए लिंक है


0

मुझे प्रश्न में सूचीबद्ध सटीक समस्या आ रही है। लेकिन मैं पॉवर्सशेल कोर का उपयोग कर रहा हूं। मेरा लक्षण थोड़ा अलग था (और अत्यधिक भ्रमित)

Import-Module : Could not load file or assembly 'System.Windows.Forms,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system
cannot find the file specified.

daysअंधेरे में भटकने के एक जोड़े के बाद मुझे पॉवर्सशेल कोर के लिए जीथब पर यह मुद्दा मिला: https://github.com/PowerShell/PowerShell/issues/4090 और नीचे दफन एक गुमनाम उपयोगकर्ता की टिप्पणी थी। बुद्धि से @LaurentPrat how are you importing AzureRM on linux? O_O you are supposed to load azurerm.netcore:। जबकि चर्चा लिनक्स के बारे में थी, लाइटबल्ब पल का एहसास पर्याप्त था। Azure powerhell core के लिए नए मॉड्यूल हैं।

मेरा PS स्टार्टअप प्रोफाइल अब इस कथन को प्रस्तुत करता है

if ($PSVersionTable.PSEdition -ieq "core") { 
    Import-Module AzureRM.Netcore 
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.