가져 오기 모듈 Azure 실패


18

Windows 8.1에서 Windows Azure PowerShell 모듈을 사용하려고합니다. Azure 모듈을 다운로드하여 설치했으며 처음에는 Azure를로드하는 PS 인 "Windows Azure PowerShell"을 실행하고 사용할 수 있습니다. 일반 PS 창만 열고 Import-Module Azure를 수행하면 실패합니다.

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

powershell 버전 또는 64 \ 32 비트 버전과 관련이 있다고 생각합니다.

누구든지 이것에 대한 경험이 있습니까?

답변:


19

Windows Azure SDK 바이너리 및 관련 PowerShell cmdlet은 모두 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)

Powershell의 속기 표현

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

PowerShell 프로필에 위 내용을 포함시킬 수 있습니다


2
감사합니다. 64 비트 PS에서도 작동합니다. 64 비트 PS에서도 바로 가기를 사용할 수있는 방법이 있습니까?
itaysk

2
나를 위해 명령을 실행해야했습니다 : Import-Module "C : \ Program Files (x86) \ Microsoft SDKs \ Azure \ PowerShell \ ServiceManagement \ Azure \ Azure.psd1"
Kai G

7

Azure PowerShell SDK를 방금 설치 한 경우 컴퓨터를 먼저 다시 시작하십시오. 설치 후 다시 시작해야합니다. 그렇지 않으면이 예외가 발생합니다.


1
바로 그거야 !!!
Luis Gouveia

1

Windows 10에서 경로가 변경되었습니다. 아래에서 올바른 버전을 참조하십시오.

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

1

Azure Resource Manager 모드 모듈 (2015/09/11)의 경우 다음을 사용하십시오.

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

0

또한 설치 관리자 실행 파일을 마우스 오른쪽 단추로 클릭하고 관리자로 실행을 선택하여 설치 관리자를 관리자로 실행하십시오. 완료되면 재부팅하십시오. 위에서 설명한대로 가져 오기를 실행할 수도 있지만 최신 설치 프로그램에서는 가져 오기를 수행 할 필요가 없습니다.


0

설치 한 SDK 버전에 따라 경로에 "Windows Azure"또는 "Azure"폴더가있을 수 있습니다.

내 설정에는 다음을 사용합니다.

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 컴퓨터, Windows 10 OS에서 사용하고있었습니다.

여기에 모듈을 수입하면되기 전에 PowerShell을 확인을 요청대로 실행 정책을해야 할 수도 있습니다 링크를 실행 oilicies합니다.


0

질문에 정확한 문제가 있습니다. 그러나 Powershell Core를 사용하고 있습니다. 증상이 약간 달랐습니다 (매우 혼동되었습니다)

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어둠 속에서 방황 한 두 번 후 Powershell Core의 github 에서이 문제를 발견했습니다 : https://github.com/PowerShell/PowerShell/issues/4090 익명 사용자의 의견이었습니다. 재치 : @LaurentPrat how are you importing AzureRM on linux? O_O you are supposed to load azurerm.netcore. 토론은 리눅스에 관한 것이지만, 전구의 순간 실현으로 충분했습니다. 푸른 powershell 코어를위한 새로운 모듈이 있습니다.

내 PS 시작 프로파일에 이제이 문장이 있습니다

if ($PSVersionTable.PSEdition -ieq "core") { 
    Import-Module AzureRM.Netcore 
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.