PFXファイルを利用して、PowerShellからAzureを管理する方法を書きます。
PFXファイルの作成
まず、事前にWindows SDKをインストールしておく必要があります。
http://msdn.microsoft.com/ja-jp/windows/desktop/bg162891.aspx
手元の環境だとデフォルトで以下にインストールされます。
このSDKの中のmakecertというコマンドを利用しPFXファイルを作成します。
「-n」の値は適当なものに変更してくだい。
makecert -n "CN=yomon8.net" -pe -ss My -a sha256 -r -sky exchange
MakeCertの引数の意味が知りたいかたはこちらに記載があります。
http://msdn.microsoft.com/ja-jp/library/bfsktky3%28v=vs.110%29.aspx
makecertコマンドが正常に完了したら、コマンドプロンプトなどからcertmgr.mscを実行します。
個人の証明書のところに作成した証明書が表示されていると思います。
この証明書を右クリック>全てのタスク>エクスポートを選択します。ここで秘密キーをエクスポートするとPFXファイル、秘密キーをエクスポートしないとCERファイルが作成されます。
Azure管理証明書としてアップロード
上記でエクスポートしたCERファイルはAzureポータルから「設定」>「管理証明書」>「アップロード」でアップロードします。
対になっているPFXはサーバーなどにインストールして利用します。
PowerShellからPFXファイルを使ってAzure管理
上記の操作を行ったマシンからPowerShellでAzureの管理したい場合は、既に上記の操作で証明書が個人の証明書としてインストール済みなのでこれを利用します。
#証明書の取得 $certThumbprint = "87EFEC5FDD053154B7B9C32BFF3EA9C93166939A" $cert = Get-ChildItem Cert:\CurrentUser\My\$certThumbprint #Azureに接続 $subscriptionName = "サブスクリプション名" $subscriptionId = "サブスクリプションのID" Set-AzureSubscription -SubscriptionName $subscriptionName -SubscriptionId $subscriptionId -Certificate $cert Select-AzureSubscription -SubscriptionName $subscriptionName #Azureコマンドレットが使えるはずです Get-AzureVM
PFXを作成したマシン以外でPFXを利用する場合
証明書を作成したマシン以外でPFXファイルを使う場合。PFXファイルをダブルクリックすると証明書をインポートできます。または、以下のスクリプトを利用してPFXファイルを証明書ストアにインストールしてから利用します。
$pfxfile = "C:\cert\azure\yomon8.net.pfx" $pfxpassword = "p@ssword" $certStore = "Cert:\CurrentUser\My" $secpass = ConvertTo-SecureString -String $pfxpassword -Force –AsPlainText Import-PfxCertificate -FilePath $pfxfile -Password $secpass -CertStoreLocation $certStore