Azure AD Connect を構成していた環境がプロキシを経由する環境で、Azure PowerShell モジュールをインストールするときのプロキシの指定に手間取ってしまったので、インストールできた方法をメモしておきたいと思います。
別の方法もいくつか試しましたが、うまくインストールすることができなかったので、自身が試してできた方法を記載しています。これに関しては、プロキシ構成やマシンの環境にもよると思うので、プロキシ環境で Azure PowerShell のインストールができない場合の対処の一つの方法として参考にして頂けたらと思います。
PowerShellモジュールをプロキシ環境でインストールする
Azure PowerShell モジュールをインストールするには、TLS の変更とプロキシアカウントを指定してプロキシ認証の設定を行います。
PowerShell プロキシの設定
TLS のバージョンが “12” でないとインストールができないようなので、一時的に変更しています。
コマンド例
# TLSの指定 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
次にプロキシの資格情報の指定を行い、プロキシ認証の設定を行います。“$password” へプロキシアカウントのパスワード、“$cred” へ指定したパスワードの変数とアカウントを指定して、変数へ代入した資格情報を使ってプロキシ認証の設定を行います。
コマンド例
# プロキシ資格情報のパスワード指定 $password = ConvertTo-SecureString "password" -AsPlainText -Force # プロキシ資格情報の指定 $cred = New-Object System.Management.Automation.PSCredential "アカウント", $password # プロキシ認証の設定 [System.Net.WebRequest]::DefaultWebProxy.Credentials = $cred
プロキシ認証の設定のコマンドを実行した際にエラーが出力されないことを確認します。
PowerShell モジュールのインストール[Install-Module]
プロキシの設定が済んだら、モジュールのインストールを行います。
今回は、Azure PowerShell の利用を目的としていますので「MSOnline」モジュールのインストールを行います。
コマンド例
# モジュールインストール Install-Module -Name MSOnline -AllowClobber
モジュールインストールでエラーが出力されなければ成功となります。
PowerShell モジュールのインストール確認[Get-Module]
モジュールインストール後の確認として、「Get-Module」コマンドで追加した「MSOnline」モジュールの有無を確認します。
コマンド例
Get-Module -ListAvailable
コマンド実行例
PS C:\Users\Administrator> Get-Module -ListAvailable
ディレクトリ: C:\Program Files\WindowsPowerShell\Modules
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 1.0.1 Microsoft.PowerShell.Operation.V... {Get-OperationValidation, Invoke-OperationValidation}
Manifest 1.1.183.57 MSOnline {Get-MsolDevice, Remove-MsolDevice, Enable-MsolDevice, Disable-MsolDevice...}
Binary 1.0.0.1 PackageManagement {Find-Package, Get-Package, Get-PackageProvider, Get-PackageSource...}
Script 3.4.0 Pester {Describe, Context, It, Should...}
Script 1.0.0.1 PowerShellGet {Install-Module, Find-Module, Save-Module, Update-Module...}
Script 1.2 PSReadline {Get-PSReadlineKeyHandler, Set-PSReadlineKeyHandler, Remove-PSReadlineKeyHandler, Get-PSReadlineOption...}
...
“Name” へ「MSOnline」が追加されていることを確認します。
MSOnline サインイン確認[Connect-MsolService]
Microsoft オンラインサービスのログインを確認します。
コマンド例
Connect-MsolService
実行イメージ
Office 365 サービスの資格情報を入力してサインインを確認します。
サインインができれば MSOnline モジュールのインストールは完了となります。