2015/11/11

How to reset a Password or Remote Desktop Service for a Windows Azure VM created by Azure Resource Manager

Azure 仮想マシンは、以下のドキュメントにあるように、リモートデスクトップ接続の設定や管理者パスワードのリセットができるようになっています。

Windows 仮想マシンのパスワードまたはリモート デスクトップ サービスをリセットする方法
[URL] https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-windows-reset-password/

 
でも、このドキュメントって "この記事では、リソース マネージャーのデプロイ モデルの使用方法について取り上げていますが..." と書いているのに、Azure リソース マネージャー (ARM) でデプロイされた仮想マシン (Azure VM V2) ではなく、クラシックな方法でデプロイされた仮想マシン (Azure VM Classic) に対する操作になっているんです。

Azure リソース マネージャーでデプロイされた Windows 仮想マシンのパスワードを Azure プレビュー ポータルでリセットしようとしても、現在は"準備中"という悲しいお知らせが... (2015/11/11 現在)

Azure PowerShell でやろうとしてもうまくいかないと思います。なぜなら、リモートデスクトップ接続の設定や管理者パスワードのリセットの機能は VM エージェントに含まれる VMAccessAgent 拡張に依存しているから。

安心してください。ちょっとがんばればできますから。


Azure リソース マネージャーでデプロイされた Windows 仮想マシンには、たぶん、VM エージェントは自動的に入りません。Marketplace のテンプレートから最近作成した Windows Server 2012 R2 Datacenter の仮想マシンは入っていませんでした。

Microsoft.Insights.VMDiagnosticsSettings という拡張だけが入ってました。


Azure プレビュー ポータルの仮想マシンの「拡張機能」のページに書いてあるように、拡張機能を追加するには、http://aka.ms/vmagentwin から VM エージェントのインストーラーをダウンロードして、仮想マシンにインストールします。

つまり、既にパスワードを忘れちゃったという場合はこれで終了。VM エージェントをインストールするために仮想マシンに RDP 接続できないんだもん。


VM エージェントをインストールできたら、手元の PC の Azure PowerShell を使って、次のように実行します。これで、VM エージェントの VMAccessAgent 拡張が有効になります。このコマンドラインは Azure PowerShell 0.9.x の場合。Azure PowerShell 1.0 Preview の場合は、Set-AzureRmVMExtension を使ってね。
パラメーターは同じです。

Set-AzureVMExtension -ResourceGroupName "<Resource Group Name>" -VM "Virtual Machine Name>"myvmv2 -Publisher Microsoft.Compute -ExtensionName VMAccessAgent -Version 2.0 -ExtensionType VMAccessAgent -Location "<Region>"


同様の方法で、TrendMicro、McAfee、または Symantec のマルウェア対策のセキュリティ拡張を有効にできます。

Publisher、ExtensionName (ExtensionType)、Version の情報は、Get-AzureVMAvailableExtension で調べてね。

Microsoft Antimalware (IaaSAntimalware) は Plugin がエラーになってインストールが完了しませんでした。AntilmalwareConfig.exe が正常に完了しないってエラーです。Azure Antimalware Cmdlets (Get-AzureServiceAntimalwareConfig など)  も Azure サービス管理 API (ASM) 前提で、Azure リソース マネージャー API (ARM) には使えないようなので、だめなのかもしれません。

こちらの JSON テンプレートを使ってデプロイすれば Microsoft Antimalware も入れることができるみたいなんですが、うまくデプロイできませんでした。

Create a Windows VM with Anti-Malware extension enabled
[URL] https://github.com/Azure/azure-quickstart-templates/tree/master/anti-malware-extension-windows-vm

さて、この方法で VMAccessAgent を仕込んであれば、Set-AzureVMAccessExtension コマンドレットで次のようにリモート デスクトップ サービスのリセット (最初のコマンドライン) や管理者パスワードのリセット(2 番目のコマンドライン) を使えるようになります。Set-AzureVMAccessExtension は Azure PowerShell 0.9.x の場合。Azure PowerShell 1.0 Preview の場合は、Set-AzureRmVMAccessExtension を使ってね。パラメーターは同じです。おっと、-ExtensionName VMAccessAgent で動いていますが正しい Syntax は -Name VMAccessAgent かな。



Azure リソース マネージャーでデプロイされた仮想マシンに VM エージェントを入れても、プレビュー ポータルの「パスワードのリセット」ページは "準備中" のままです。

0 件のコメント: