Azure PowerShell の実行に関する問題

Azure PowerShell の実行に関する問題

Azure Powershellをインストールしようとしています。このページ

インストールは正常に実行され、エラーなしで進行しているようです。

しかし、終わってしまうと、アプリケーションが見つからないAzure Powershell。様々な端末を処分する

  • Windows Azure コマンド プロンプト
  • Windows Azure ストレージ コマンド ライン

しかし、どれもうまくいかないようです。うまくいくというのは、例の最初のコマンドを正常に実行することを意味します。

Add-AzureAccount

そうすると、次のエラーが発生します。

'Add-Azure Account' is not recognized as an internal control 
or external, operable program or batch file.

それに加えて、「インストールされているすべてのソフトウェア」リストには Azure Powershell に関する記載がありません。

ここに画像の説明を入力してください

次のコマンドを正常に実行できます:

Import-Module MSOnline
Get-Module MSOnline 
    gives me -> Manifest   MSOnline                  {Add-MsolRoleMember, Remove-MsolForeignGroupFromRole, Get-MsolFederation...

ただし、次のコマンドではすべて同じエラー ( ModuleNotFound) が発生します。

Import-Module Azure
Import-Module AzureResourceManager
Import-Module AzureProfile

これらは私のモジュール リストには表示されないので、非常に論理的です。

PS C:\Users\matthews> Get-Module -ListAvailable

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Manifest   AppLocker                 {}
Manifest   BitsTransfer              {}
Manifest   MSOnline                  {}
Manifest   MSOnlineExtended          {}
Manifest   PSDiagnostics             {}
Manifest   PSReadline                {}
Manifest   TroubleshootingPack       {}

結論として、提供された解決策はここPowerShellフォルダ内にディレクトリがないため、機能しませんWindows Azure

私が何かを誤解しているのでしょうか、それともインストールによって発生した問題でしょうか?

注意: スタンドアロン インストーラーを使用してインストールすることも試みましたが、この場合は明示的なエラー メッセージが表示されます。

This setup requires the Windows PowerShell 3.0 or compatible version to be installed.

さまざまな理由で新しい Powershell バージョンのインストールに問題がありますが、これが解決策になるかもしれません。

答え1

コマンド

Import-Module "C:\Program Files (x86)\Microsoft SDKs\..."

動作することはできますが、時間の経過とともにパスが変わります。

おそらく再起動するだけで、$env:PSModulePath が更新されます。

ただし、再起動せずに簡単に修正したい場合は、このスクリプトを実行するとうまくいきます。

if( (Get-Module -ListAvailable azure | measure).Count -eq 0 )
{
    # == Refresh the Environment variable if just intall the tools without rebooting and try again
    $env:PSModulePath = [System.Environment]::GetEnvironmentVariable("PSModulePath","Machine")

    if( (Get-Module -ListAvailable azure | measure).Count -eq 0 )
    {
        echo("You must install the Azure PowerShell Tools. Go at: http://go.microsoft.com/?linkid=9811175&clcid=0x409")
        Read-Host "Press enter key to close"
        exit
    }
}

echo("Azure PowerShell is installed")

これが役に立つことを願っています。

関連情報