SCCM 2007/2012 のハードウェア インベントリ機能を拡張して Bitlocker の有効有無を確認する方法
System Center Configuration Manager サポート担当の美馬です。
SCCM のハードウェア インベントリ機能を拡張することによりBitLocker が有効になっているかどうかを判断する方法をご紹介いたします。
なお、「必要な構成管理」機能を利用する方法もありますので、こちらの記事もご参照ください。
SCCM 2007 の「構成管理」機能を利用して Bitlocker の有効有無を確認する方法
https://blogs.technet.com/b/systemcenterjp/archive/2012/06/27/3506084.aspx
■前提となるテクノロジーについて
コンピュータにて各ドライブの Bitlocker が有効になっているかどうかについては、WMI 名前空間にある下記情報から判断することができます。
そのため、SCCM 2007 のハードウェア インベントリ機能を拡張することにより、下記の WMI 名前空間のプロパティ値を収集します。
名前空間:root\cimv2\security\MicrosoftVolumeEncryption
クラス:Win32_EncryptableVolume
プロパティ:ProtectionStatus
値:0 - PROTECTION OFF(Bitlocker が設定されていない)
1 - PROTECTION ON(Bitlocker が設定されている)
2 - PROTECTION UNKNOWN(Bitlocker が設定されているか判断できない)
- 参考情報 -
Win32_EncryptableVolume class
https://msdn.microsoft.com/en-us/library/aa376483(v=vs.85)
※ ProtectionStatus 値が「2」となる場合の例
システムドライブとは別のドライブ(D ドライブ等)にBitlocker を設定している環境で、ログオン後の最初のドライブアクセス時に
パスワード入力を要求する設定(パス フレーズによるロック解除設定)を行っている場合、
パスワード入力前の状態では ProtectionStatus 値が「2」、パスワード入力後はProtectionStatus 値が「1」となります。
そのため、SCCM クライアントでの「ハードウェア インベントリ スキャン サイクル」が実行されるタイミングにより ProtectionStatus 値が変わる可能性があります。
■ SCCM 2007 のハードウェアインベントリ拡張の設定方法
SCCM サイト サーバにて、ハードウェア インベントリ拡張のための設定を行います。
なお、当手順を実施することにより、該当サイト サーバで管理されるすべての SCCM クライアントに設定されます。
特定クライアントにのみ当設定を行うことができませんで、十分な検証を実施していただくことをお勧めいたします。
1. SCCM サイト サーバにて、以下のフォルダを開きます。
\Program Files\Microsoft Configuration Manager\inboxes\Clifiles.src\hinv
※ \Program Files は SCCM インストール先に応じて変更されます。
2. 以下の 2 ファイルのバックアップを取得します。
・configuration.mof
・sms_def.mof
3. configuration.mof ファイルをテキストエディタで開き、一番下までスクロール後に、 以下を追記し上書き保存します。
--------------------------------
#pragma namespace("\\\\.\\root\\cimv2")
[Union,ViewSources{"select * from Win32_EncryptableVolume"},ViewSpaces{"\\\\.\\root\\cimv2\\security\\MicrosoftVolumeEncryption"},
Dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")]
class Bitlocker
{
[PropertySources{"DeviceID"},key]
string DeviceID;
[PropertySources{"DriveLetter"}]
string DriveLetter;
[PropertySources{"ProtectionStatus"}]
uint32 ProtectionStatus;
};
--------------------------------
4. sms_def.mof ファイルをテキストエディタで開き、一番下までスクロール後に、以下を追記し上書き保存します。
--------------------------------
[ SMS_Report (TRUE),
SMS_Group_Name ("Bitlocker"),
SMS_Class_ID ("MICROSOFT|Bitlocker|1.0")]
class Bitlocker : SMS_Class_Template
{
[SMS_Report(TRUE), key]
string DeviceID;
[SMS_Report(TRUE)]
string DriveLetter;
[SMS_Report(TRUE)]
uint32 ProtectionStatus;
};
--------------------------------
手順は以上です。
なお、上記手順を実施した後で、SCCM クライアントからポリシー取得処理(既定で 1 時間おき)が実行されますと、変更した mof ファイルの内容がクライアントに反映されます。
次回の「ハードウェア インベントリ サイクル」(既定で 7 日おき)の実行により、Bitlocker 情報が SCCM サイト サーバ送信されるようになります。
ご注意:
SCCM 2007 SP1/SP2 や SCCM 2007 R2/R3 を適用しますと、上記で修正した configuration.mof、sms_def.mof ファイルが上書きされてしまい、
追加書きした内容が消えてしまいます。そのため、SP1/SP2、R2/R3 を適用した後は、再度追記していただく必要がございます。
■ SCCM 2007 管理コンソールから各クライアントの Bitlocker 設定状況を確認する方法
SCCM 管理コンソールにて、該当クライアントのリソースエクスプローラやクエリなどを利用して Bitlocker 設定状況を確認することができます。
該当クライアントのリソースエクスプローラから確認する方法
SCCM 管理コンソールのコレクション内にある対象クライアントを右クリックして [開始] -> [リソース エクスプローラ] をクリックします。
該当クライアントのリソース エクスプローラが起動しますので、下記のとおり [リソース エクスプローラ] -> [ハードウェア] -> [Bitlocker] と展開することにより Bitlocker の設定状況が確認できます。
1. SCCM 管理コンソールにて、[コンピュータの管理] -> [クエリ] を右クリックして [新規] -> [クエリ] を選択します。
2. クエリ新規作成ウィザードが起動しますので、[名前] に任意の名前を入力後、[クエリ ステートメントの編集] ボタンをクリックします。
3. 下記のプロパティ画面で [クエリ言語を表示する] をクリックします。
4. [クエリ ステートメント] 欄に例えば下記のような WQL クエリを入力して、[OK] ボタンをクリックします。
WQL クエリ例:C ドライブの Bitlocker が無効(ProtectionStatus 値が “0”)のクライアント OS を表示
-----------------------
select SMS_R_System.Name from SMS_R_System inner join SMS_G_System_BITLOCKER on SMS_G_System_BITLOCKER.ResourceID = SMS_R_System.ResourceId where SMS_G_System_BITLOCKER.DriveLetter = "C:" and SMS_G_System_BITLOCKER.ProtectionStatus = 0 and SMS_R_System.OperatingSystemNameandVersion like "Microsoft Windows NT%Workstation%"
-----------------------
※WQL クエリは、コレクション作成時に指定するクエリとしても利用できます。
6. ウィザード画面に戻り [次へ] ボタンをクリックします。
7. 下記画面で [完了] ボタンをクリックしてウィザードを完了させます。
8. SCCM 管理コンソールに戻り、[コンピュータの管理] -> [クエリ] を右クリックして [最新の情報に更新] を選択して作成したクエリ情報を表示させます。
9. SCCM 管理コンソールの [クエリ] 配下に新規に作成したクエリ(ここでは「Bitlocker 無効クライアント」)をクリックすると、WQL クエリが実行されて中央ペインに実行結果が表示されます。
10. ここで、クエリ実行結果を csv 形式に出力させたい場合は、実行結果が表示された状態で新規に作成したクエリ(ここでは「Bitlocker 無効クライアント」)を右クリックして [表示] -> [一覧のエクスポート] をクリックします。
11. [名前を付けて保存] 画面が表示されますので、任意のパス、名前を指定して、[ファイルの種類] で “Unicode テキスト (コンマ区切り) (*.csv)“ を選択して [保存] ボタンをクリックします。
以上となります。
■ SCCM 2012 ののハードウェア インベントリ拡張の設定方法
なお、SCCM 2012 の場合、より簡単に BitLocker の有効化状況を取得するためのハードウェア インベントリ拡張を設定することが可能です。
1. SCCM 2012 管理コンソールの左下ペインの [管理] をクリック後、左上ペインの [サイトの構成] -> [クライアント設定] を選択し、中央ペインにある「既定のクライアント設定」のプロパティを開きます。
2. プロパティ画面の左ペインにある [ハードウェア インベントリ] を選択し、[クラスの設定] ボタンをクリックします。
3. 「BitLocer (Win32_EncryptableVolume)」の項目に取得対象の項目にチェックを入れて、[OK] をクリックします。
4. [OK] ボタンをクリックして「既定のクライアント設定」のプロパティ画面を閉じます。
以上で SCCM 2012 での設定は完了です。
SCCM 2007 と同様に、SCCM クライアントからポリシー取得処理(既定で 1 時間おき)が実行されますと、変更した 「既定のクライアント設定」の内容がクライアントに反映されます。
次回の「ハードウェア インベントリ サイクル」(既定で 7 日おき)の実行により、Bitlocker 情報が SCCM サイト サーバ送信されるようになります。
下記画面のとおり、SCCM 2012 管理コンソールにて、クライアントのリソースエクスプローラーを開くと、BitLocker の状況が確認できます。
それではまた。