Import-Module Azure falha

17

Estou tentando trabalhar com o módulo do Windows Azure PowerShell no Windows 8.1. Eu baixei e instalei o módulo do Azure e, no início, posso executar e usar o "Windows Azure PowerShell", que é um PS que apenas carrega o Azure. Quando eu abro apenas uma janela simples do PS e faço o Import-Module Azure, ele falha com:

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

Suspeito que tenha algo a ver com as versões do powershell ou 64 \ 32 bits.

Alguém tem alguma experiência com isso?

    
por itaysk 18.01.2014 / 22:32

8 respostas

19

Os binários do Windows Azure SDK e os cmdlets do PowerShell são todos de 32 bits, e é por isso que o atalho "Windows Azure Powershell" sempre inicia um shell de 32 bits.

Você pode importar o módulo do Azure para uma sessão existente do PowerShell fazendo referência ao caminho do sistema de arquivos para o manifesto do módulo:

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

[Update] No último Azure, use

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

Para acessar o módulo apenas por nome, você precisará incluir sua localização na variável de ambiente PSModulePath (aqui com detalhes excruciantes, para desenvolvedores):

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

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

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

E uma expressão abreviada para o seu powershell

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

Você pode incluir o acima em seu perfil do PowerShell

    
por 19.01.2014 / 05:26
7

Se você acabou de instalar o SDK do Azure PowerShell, reinicie o computador primeiro. Uma reinicialização é necessária após a instalação, caso contrário, essa exceção será lançada.

    
por 18.08.2015 / 17:10
1

No Windows 10, o caminho mudou. Veja a versão correta abaixo:

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

Para o módulo de modo do Azure Resource Manager (2015/09/11), use o seguinte:

import-module "C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ResourceManager\AzureResourceManager\AzureResourceManager.psd1"
    
por 29.09.2015 / 17:33
0

Além disso, tente executar o instalador como Administrador, clicando com o botão direito do mouse no executável do instalador e escolhendo Executar como Administrador. Depois de concluído, reinicie. Você também pode executar a importação conforme indicado acima, mas não precisa fazer isso com os instaladores mais novos.

    
por 01.10.2015 / 01:06
0

Dependendo da versão do SDK que você instalou, você pode ter uma pasta "Windows Azure" ou apenas "Azure" no caminho.

Para minha configuração, eu uso isso:

C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure
    
por 29.12.2015 / 21:17
0

Para o AzureRM 4.2.1 (no momento desta resposta). Seu caminho de módulo é diferente no meu caso é

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

Eu estava usando em uma máquina x64, windows 10 OS.

você pode precisar de políticas de execução, pois o powershell solicita uma confirmação antes de importar os módulos aqui. link para execução de óleos.

    
por 02.08.2017 / 12:51
0

Estou com o problema exato listado na pergunta. Mas estou usando o Powershell Core. Meu sintoma foi ligeiramente diferente (e muito confuso)

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.

Depois de alguns days de vagar no escuro, encontrei este problema no github para o Powershell Core: link e enterrado nele profundamente foi um comentário de um usuário anônimo. A saber: @LaurentPrat how are you importing AzureRM on linux? O_O you are supposed to load azurerm.netcore . Enquanto a discussão foi sobre o Linux, a realização do momento da lâmpada foi suficiente. Existem novos módulos para o núcleo do PowerShell.

Meu perfil de inicialização do PS agora apresenta esta declaração

if ($PSVersionTable.PSEdition -ieq "core") { 
    Import-Module AzureRM.Netcore 
}
    
por 10.11.2018 / 15:27