SCVMM 2012 R2/2016 でアクセス関連の設定を変更するとコンソールがクラッシュする

こんにちは、日本マイクロソフト System Center Support Team の三輪です。

 

本日は、System Center Virtual Machine Manager に関して、2012 R2 および 2016 いずれでも発生する可能性がある不具合についてご案内致します。

 

[ 不具合について]

SCVMM 2012R2 または 2016 にて、仮想マシンに対し、プロパティ画面の [アクセス] タブからユーザー、ユーザーロールを追加するとコンソールが異常終了する事象が発生します。

コンソール操作時に、ポップアップウインドウが表示され、「VmmAdminUI は動作を停止しました」 とメッセージが表示されます。

また、問題の詳細には、”VmmAdminUI.exe”、”Microsoft.VirtualManager.UI.CommonControls” といった記載が見られます。

 

この際、アプリケーションログに以下の記載があるかどうかを確認します。

以下例の様に、例外が発生した場所として IDsObjectPicker が含まれている場合、.Net Framework コンポーネントに起因した既知の不具合である可能性が高いと判断できます。

 

OS 側の更新プログラム等による .Net コンポーネントに関連した変更に伴い、API へ渡す値の配列サイズが変更となりました。

しかしながら、API 側がこの配列のサイズに対応しておらず、結果異常終了が発生する不具合となっております。

このため、OS の更新プログラムを SCVMM サーバーに適用されている環境の場合、本不具合が発生する場合がございます。

 

[ ログ例]

本不具合によってコンソールの異常終了が発生した場合、アプリケーションログに以下の様なエラーが記録されます。

********ログ例********

ログの名前:             Application

ソース:                    .NET Runtime

イベント ID:           1026

タスクのカテゴリ:        なし

レベル:                   エラー

キーワード:              クラシック

ユーザー:                N/A

説明:

アプリケーション:VmmAdminUI.exe

フレームワークのバージョン:v4.0.30319

説明: ハンドルされない例外のため、プロセスが中止されました。

例外情報:System.ArgumentException

場所 Microsoft.EnterpriseStorage.NativeMethods+IDsObjectPicker.Initialize(DSOP_INIT_INFO ByRef)

場所 Microsoft.VirtualManager.UI.BrowseDSObjectsDialog+DsObjectPicker..ctor(PickerTypes, Boolean, System.String)

********ログ例********

 

[ 回避策]

本事象が発生している場合、回避策は何れかの 2 点となります。

1. 環境変数の設定

2. SCVMM に対する更新プログラムの適用

それぞれ詳細を以下にご説明いたします。

 

1. 環境変数の設定

=========================

以下の手順にて環境変数の設定を行うと、本不具合に起因したコンソールの異常終了を防ぐことが可能です。

本変数を設定することで、問題が発生する内部的な処理を OFF とし、結果としてコンソールの異常終了を回避することが可能です。

以下手順による回避は、SCVMM 2012 R2、SCVMM 2016 いずれの環境においても弊社過去事例にて実績がございます。

 

手順

--------

1. SCVMM サーバーにログインします。

2. 管理者ユーザーにてコマンドプロンプトを開き、以下のコマンドにて環境変数を設定します。

> setx /m COMPLUS_LegacyByValArrayMarshal 1

3. SCVMM サーバーを再起動し、事象が解消するか確認します。

SCVMM サーバー機能はインストールされておらず、SCVMM コンソールのみをインストールしている環境に対しても、本手順による回避は有効となります。

 

2. SCVMM に対する更新プログラムの適用

=========================

先日公開された更新プログラムの適用にて回避することが可能です。

SCVMM 2012 R2 に対しては UR14、SCVMM 2016 に対しては UR4 がそれぞれ本不具合に対する修正が含まれた更新プログラムとなります。

 

- Update Rollup 14 for System Center 2012 R2 Virtual Machine Manager https://support.microsoft.com/en-gb/help/4041077/update-rollup-14-for-system-center-2012-r2-virtual-machine-manager

該当箇所: When the .NET Framework 4.7 is installed, the Virtual Machine Manager UI crashes when you try to give user or group access to a virtual machine.

 

- Update Rollup 4 for System Center 2016 Virtual Machine Manager https://support.microsoft.com/en-in/help/4041074/update-rollup-4-for-system-center-2016-virtual-machine-manager

該当箇所: The Virtual Machine Manager UI when .NET Framework 4.7 is installed crashes when you try to give user/group access to a VM.

 

 

更新プログラム適用の際には、事前に SCVMM のデータベースの取得をご推奨しております。

また、以下の通り、ロールアップ適用に関する公開情報がございます。

適用の際は以下情報もご確認いただけますと幸いです。

 

- VMM 2012 R2 Update Rollup を適用する際の注意点 https://blogs.technet.microsoft.com/systemcenterjp/2015/07/27/vmm-2012-r2-update-rollup/

 

- How to install, remove, or verify update rollups for System Center 2012 VMM https://technet.microsoft.com/en-us/library/mt695663(v=sc.12).aspx