SCCM2012 R2 評価ガイド インベントリ収集編 公開されました

公開されてからだいぶ時間が経過してしまいましたが、System Center 2012 R2 Configuration Manager 評価ガイド – インベントリ収集編が公開されました。

http://www.microsoft.com/ja-jp/download/details.aspx?id=43694

執筆協力をさせていただいた中で、資産インテリジェンス機能に関するちょっとした気づきがあったので、(具体的に言えば、資産インテリジェンスにライセンス情報を簡単に登録する方法があることを知ったので)参考までに共有させていただきます。

■ ■ ■

SCCMの資産インテリジェンス機能に、ライセンス情報を登録する機能があります。

組織で使用するライセンス情報をあらかじめ登録しておくことにより、購入したライセンスが効率よく使われているか、また購入したライセンス数を超えてソフトウェアが使われていないか、などを確認することができます。

ライセンスを登録するときは、[資産とコンプライアンス] – [資産インテリジェンス]から[ソフトウェアライセンスのインポート]を使用します。

inv-cm-172

実行すると、インポートウィザードが登場し、ライセンス情報を登録します。
このときライセンス情報として、マイクロソフトのボリュームライセンスをお使いであれば、
ボリュームライセンスのファイルをそのまま登録できますが、サードパーティ(マイクロソフト以外)の製品だったりすると、自身でライセンス情報ファイルを作成しなければなりません。

inv-cm-174

ライセンス情報ファイル自体は、CSV形式のファイルを作成するのですが、これを効率よく行いたいというためのツールが提供されており、私自身、大変重宝しました(Many Thanks!)。

■Asset Intelligence 3rd. party software utility
http://blog.coretech.dk/kea/asset-intelligence-3rd-party-software-utility/

ダウンロードしたツールを解凍し、CT-AILW.exeを実行すると、このような画面が表示されます。
サイトデータベースサーバー名とSCCMデータベースの名前(通常はCM_サイトコード)を入力して、
Connect toを押します。

inv-cm-259

すると、登録済みのソフトウェアのライセンス情報が表示されます。
表示された内容に直接書きこんで、編集または新規作成できますし、

inv-cm-260

[Show Discovered]をクリックして、ハードウェアインベントリで収集したソフトウェア情報を一覧表示させることもできるので、その一覧から作成することもできます。(よく、やってしまいがちなミスとして、Productの名前を間違える、っていうのがあるのですが、それもインベントリから作成すればミスを防げますね)

inv-cm-261

ライセンス情報を記入できたら、Commitタブからサイトサーバー名、サイトコードを入力し、Connect to SCCMをクリックします。

inv-cm-262

これで登録完了です。
では、ライセンスの使用状況を見てみましょう。
レポートの[ライセンス15A-標準ライセンス調整レポート]を実行すると、

image

このように結果が確認できます。

inv-cm-246 

CT-AILWツールは、ライセンス情報の新規登録だけでなく、編集・削除も自在にできるのが便利ですね。

【Q&Aコーナー】管理ポイントの冗長構成

先日、System Center 2012 R2, Configuration Manager (SCCM 2012 R2)における、管理ポイントの冗長構成について、ご質問をいただいたので、こちらでまとめておきたいと思います。

結論から先に言うと、オフィシャルなサイトである、TechNetに掲載されているので、
これを見ると良いでしょう。というのが答えです。

■Configuration Managerの高可用性の計画
http://technet.microsoft.com/ja-jp/library/hh846246.aspx

ここでは、上記サイトをもとに、
ポイントとなるところや補足しておきたいことなどをここでは記しておきます。

まず、管理ポイントの冗長構成について、TechNetではこのような説明があります。

重要なサービスをクライアントに提供するために、次のサイト システムの役割のインスタンスを複数インストールできます。
管理ポイント
• 配布ポイント
• 状態移行ポイント
(以降、省略)

なるほど。管理ポイントの冗長構成は可能なのですね。
続いて、具体的な構成について。

各プライマリ サイトに複数の管理ポイントをインストールして、それらのサイトが Active Directory インフラストラクチャおよび DNS にサイト データを発行できるようにします。

プライマリサイトに管理ポイントを複数インストールすると、その情報はActive DirectoryやDNSサーバーに格納されるとあります。実際、DNSサーバーのゾーンデータベースを見てみると、SRVレコードとして管理ポイントの情報が格納されています。

image

このように、DNSサーバーなどから管理ポイントの情報を引っ張ってくるため、管理ポイントが複数インストールされても、その情報をクライアントは識別できるのですね。

では、ワークグループの場合はどうでしょう?
ワークグループの場合、Active DirectoryやDNSサーバーにアクセスすることはありませんが、
代わりに管理ポイントの一覧は管理ポイントのサーバー上でMPListという名前で提供します。
MPListには管理ポイントの一覧が記載されているため、この一覧を参照できれば、
そこからアクセス可能な管理ポイントを確認できるようになります。

image

MPListは

http://<管理ポイントサーバー>/sms_mp/.sms_aut?mplist

からアクセスできます。
クライアントはこのリストを参照し、アクセスする管理ポイントを決定します。
その様子はクライアント側のログである、C:\Windows\CCM\Logs\ClientLocation.logから確認できます。

image

image

MPListを参照し、その内容に基づいて参照する管理ポイントを切り替えていることが分かります。

最後に、モバイルデバイスからのアクセスについて。TechNetではこのように書いてあります。

Configuration Manager に登録されているモバイル デバイスは、プライマリ サイトの 1 つの管理ポイントにのみ接続できます。 管理ポイントは、登録時に Configuration Manager によってモバイル デバイスに割り当てられ、その後は変更されません。 複数の管理ポイントをインストールして、モバイル デバイスに対して複数を有効にすると、管理ポイントはモバイル デバイスのクライアントにランダムに割り当てられます。

モバイル デバイス クライアントが使用している管理ポイントが利用できなくなった場合は、この管理ポイントの問題を解決するか、モバイル デバイスに対して有効にされている稼動状態の管理ポイントに割り当てることができるように、モバイル デバイスをワイプして再登録する必要があります。

モバイルデバイスについては、DNSを参照したり、MPListを参照したりして、アクセスする管理ポイントを切り替えることはできません。これは注意しなければならないポイントですね。

【Q&Aコーナー】スクリプトでSCEPを実行したい

System Center 2012 R2, Configuration Manager(SCCM)に同梱しているマルウェア対策ソフトウェアである、System Center 2012 R2, Endpoint Protection(SCEP)を使って、マルウェアスキャンを行いたい場合、SCCMの管理コンソールから実行するように設定することができます。

しかし、

複雑なスケジュールでマルウェアスキャンを実行したい、
いくつかのコンピューターに対してマルウェアスキャンを今すぐ実行したい、

などのニーズがあると、GUIでもできなくはないですが、コマンドから実行できたほうが便利だったりするケースもあります。そこで、SCEPのマルウェアスキャンをコマンドで実行する方法を載せておきます。

PowerShellを起動し、以下のコマンドレットを実行します。

Import-Module c:\program files(x86)\microsoft configuration manager\adminconsole\bin\configurationmanager.psd1

set-location <サイトコード>:\

invoke-cmendpointprotectionscan -devicename <スキャンを実行するコンピューター名> -scantype full

以上のコマンドレットをメモ帳に記述し、.ps1の拡張子で保存すれば、スクリプトファイルになります。あとは、スクリプトファイルを実行することで今すぐ実行するように指定することができますし、タスクスケジューラーでスクリプトファイルを実行するように指定すれば決められた日時に実行することが可能です。

System Center Endpoint Protection ~ 定義ファイルを確認する

マイクロソフト謹製のマルウェア対策ソフトウェアである、System Center 2012, Endpoint Protection (SCEP)は他社のマルウェア対策ソフトウェアと同じく、定義ファイルをベースにコンピューター内のマルウェアを検出する仕組みを採用しています。そのため、定義ファイルを正しく入手し、定義ファイルを正しく利用してマルウェアスキャンを行うことがとても重要になります。

そこで、SCEPがどのような仕組みで定義ファイルを取得し、実装しているか、調べてみました。

注意:私が調べた限りでは、マイクロソフトオフィシャルな情報が見当たらなかったため、自分のコンピューターにおける挙動をベースにこの投稿はまとめられています。そのため、投稿の内容の正当性についての最終的な判断はご自身で行うよう、お願いします。

■ ■ ■

定義ファイルの取得方法

SCEPで使用する定義ファイルは基本的にMicrosoft Updateから取得します。SCEPクライアントは直接Microsoft Updateから取得することもできますし、SCCMの配布ポイント経由で取得することもできます。
配布ポイント経由で取得する場合、SCEPクライアントに配布する定義ファイル自体をMicrosoft Updateから取得しなければなりません。しかし、Microsoft Updateから取得する作業を手動で行っていては面倒なので、定期的に定義ファイルをMicrosoft Updateから取得し、配布ポイントに保存しておく機能をSCCMでは使用します(これを「自動展開規則」と呼びます)。

image

 

定義ファイルの保存場所

Microsoft Updateから取得した定義ファイルはSCEPクライアントのc:\ProgramData\Microsoft Antimalware\Definition Updatesフォルダーに保存されます。ファイルには、マルウェア対策機能用の定義ファイルである、Mp*.vdmファイル群と、IPS用の定義ファイルである、NIS*.vdmファイル群があります。

image

では、これらのファイルが保存されている場所を実際に見てみましょう。
c:\ProgramData\Microsoft Antimalware\Definition Updatesフォルダーには、GUIDのような番号が割り当てられたフォルダーがいくつか作られています。このうち、更新日時が一番新しいフォルダーを開いてみると、

image

ありました!
↓これ↓が最新の定義ファイルになります。

image

前の世代の定義ファイルと比べるとわかるのですが、定義ファイルは最新版を取得しても、mpavbase.vdmファイルとmpasbase.vdmファイルは新しいファイルになっていないことがわかります。
これは定義ファイルを取得するときに前回取得した定義ファイルからの差分だけを取得するからです。

image ■こちらは最新の定義ファイル

image

■一世代前の定義ファイル(mpasbase.vdmとmpavbase.vdmファイルの更新日時は変わっていない)

このようにして、クライアントが定義ファイルを取得するときには最低限のデータだけをダウンロードするように構成されているのですね。

定義ファイルのバックアップ

では、もう一度、Definition Updatesフォルダーに戻ってみましょう。フォルダーにはBackupという名前のフォルダーがあります。Backupフォルダーの中に入っているファイルは、*.vdmファイルで更新日時を調べてみると、最新の定義ファイルから1世代前の定義ファイルが保存されていることがわかりました。つまり、Backupフォルダーに入っている定義ファイルは、文字通り、最新バージョンの定義ファイルに対するバックアップなのです。
しかし、Backupフォルダーの活用方法についてはユーザーインターフェイスのどこを見てありません。
そのため、最新バージョンの定義ファイルが壊れたときには手動でファイルを置き換えることで対処することになると思います(推測)。

image

実際に、Backupフォルダーから定義ファイルを復元してみようとしたのですが、一部のファイルはSCEPクライアントによって排他制御されているため、 すべてのファイルをBackupフォルダーから最新バージョンの定義ファイルを上書きすることはできません。そのため、Movefile (Sysinternalsツール) を使用して手動で最新のファイルを削除予約しておき、一度再起動すると、最新バージョンの定義ファイルはすべて削除され、Backupフォルダーの定義ファイルに置き換えることができるようになります。
これが正しいロールバック方法なのか、よくわかりませんが、私の環境では少なくとも前のバージョンに戻すことができました。

 

定義ファイルの保存場所 ~ サーバーサイド

今度はSCCMのサーバーサイド (サイトシステム) に保存されている定義ファイルについて見てみましょう。
Microsoft Updateから取得した定義ファイルはSCCMの自動展開規則を作成するウィザードの[パッケージのソース]で設定した場所に保存されます。

SCEP087

自動展開規則を設定し、実行すると、Microsoft Updateから取得した定義ファイルが格納されます。
一つひとつのフォルダーには各定義ファイルが格納されています。

image

フォルダーのうちのひとつを開くと、exeの形式の定義ファイルが格納されています。
Microsoft Updateから取得したタイミングでは、vdm形式のファイルではないのです。
(SCCMでexe形式の定義ファイルを取得してから、vdm形式のファイルを生成している??)

image

一方、配布ポイントが取得した定義ファイルはSCCMのコンソールからは[ソフトウェアライブラリ]-[ソフトウェア更新プログラム]-[すべての更新プログラム]から確認できます。

image

SCCMのコンソールに表示されている更新プログラムのひとつを開くと、以下のような情報が確認できます。一つひとつの定義ファイルがどのKBに対応しているか、という情報です。
ちなみに前の画像にAM_Delta_Patch_1.155.923.0というファイルが映っていましたが、これは
下の図でいうところの「Microsoft Endpoint Protectionの定義の更新 – KB2461484 (定義 1.155.923.0)」に当たります。

image

さらに[コンテンツ情報]タブをクリックすると、ソースのダウンロード先URLも確認できます。
このように定義ファイルが保存されているフォルダーだけ見ると、なんだかよくわかりませんが、
SCCMのコンソールを参照することで、一つひとつの定義ファイルが
どのような効果のある定義ファイルなのかがわかるわけです。

image

 

定義ファイルを手動で取得する

ここまで、定義ファイルはMicrosoft Updateから取得する、またはSCCMの配布ポイントから取得する方法があることを確認しました。では、定義ファイルをファイルの形で手動で取得したい場合、どうすればよいでしょうか?
その場合には、マイクロソフトのサイトから直接ダウンロードします。

pMalware Protection Center
http://www.microsoft.com/security/portal/definitions/howtoforefront.aspx

既にマルウェア感染しているコンピューターで最新の定義ファイルを使ってマルウェアスキャンを行いたい、
だけど、定義ファイルをネットワーク経由で取得しなければならない、
だけど、マルウェア感染したコンピューターをネットワークに接続させたくない、

というときにお勧めです。

System Center 2012, Endpoint Protection ~ インストールと設定のログ

先日、System Center User Group Japanの勉強会で、マイクロソフト製のマルウェア対策ソフトである、System Center 2012, Endpoint Protection (SCEP)の話をさせていただきました。スライドはこちらからご覧になれますので、ご興味のある方はご覧になってみてください。

■ ■ ■

さて、今日はその勉強会の中でいただいたご質問の中から、「インストールに失敗した場合、どのログを参照すればよいですか?」というご質問をいただいたので、これについて解説したいと思います。

System Center 2012, Configuration Manager (SCCM)のひとつのコンポーネントであるSCEPは、SCCMをインストールするときに一緒にインストール、またはSCCMのインストール後に単体でインストールすることができます。
そのため、SCEPのインストールはSCCMのインストールログに記録されます。

SCCMのインストールログは各クライアントコンピューターのc:\windows\ccmsetup\logsフォルダーに保存されます。logsフォルダーには複数のファイルが保存されていますが、このうち、client.msi.logファイルにSCEPのインストールを示すログが残されています。

image

成功すれば、上の画面のように「Endpoint Protection : Installed」と表示されますので、これで確認してください。

また、同じくログから「Queuing endpoint ‘EndpointProtectionAgent’ for installation」の部分でも状況を確認できます。

image

その他、SCEPのポリシーの適用状況を確認するために使用する、c:\windows\ccm\logs\EndpointProtectionAgent.logファイルでもインストール成功/失敗の確認が可能です。

 

■参考情報
using System Center 2012 Configuration Manager – Part 6. Adding the Endpoint Protection role, configure Alerts and custom Antimalware Policies
http://tinyurl.com/nx372qj

SCEPは色々とお伝えしたい情報があるのですが、まとめる時間がなかなか取れずに
申し訳ないです。不定期でご紹介しますので、たまにチェックしてみてください。

System Center User Group Japan 第7回勉強会に参加します

2013年7月20日に開催される、System Center User Group Japan 第7回勉強会に
「SCCMによるSystem Center Endpoint Protectionの運用」のセッションで
スピーカーを担当させていただくことになりました。

System Center Endpoint Protectionは今まで、Forefrontファミリーに位置づけられていた
マルウェア対策ソフトウェアで、System Center 2012からSystem Center 2012, Configuration Manager (SCCM)の
管理下で運用することができるようになりました。
そんなEndpoint Protectionなのですが、SCCMのトレーニングを担当させていただいているなかで、
よく、こんなご質問をいただきます。

Endpoint Protectionって本当に使えるのですか?

何をもって「使える」とするかはなかなか難しいですが、少なくとも
ある一部分だけを捉えて、使える/使えないというのは、いかがなものか?と思っています。
ビジネスコンサルタントが利用するSWOT分析(強み・弱み・機会・脅威を洗い出す分析手法)みたいな
ことはできないけれど、せめて色々な方面から検討してみる必要があるのではないか?

こう思って、今回のセッションを設けさせていただきました。
セッションでは、他社製品との比較をしながらEndpoint Protectionのあるべき運用方法について、
みんなで考えてみたい、このように考えております。

参加登録はhttp://atnd.org/events/40740からできますので、
ご興味のある方はぜひ。

SCCMによるアプリケーション配布

今までSCCMでアプリケーション配布と言えば、パッケージの形式によるアプリケーション配布の手法のことを指していました。ところが、SCCM 2012ではパッケージ形式のほかに、アプリケーション形式のアプリケーション配布手法が新設されました。

image

[アプリケーション]によるアプリケーション配布は、「ユーザー主導」と呼ばれるアプリケーション配布方式をサポートしていて、「どのコンピューターにインストールするか?」ではなく、「どのユーザーにインストールするか?」を指定する方法を採用しています。

また、[アプリケーション]によるアプリケーション配布の場合、拡張子がMSIのセットアッププログラムだけでなく、Windowsストアのアプリを配布することができるのも特徴のひとつです。
ということで、今回はWindowsストアアプリのアプリケーション配布を行ってみたいと思います。

 

前提条件

Windowsストアアプリのアプリケーション配布を行う場合、既にどこかのSCCMクライアントに対象となるWindowsストアアプリがインストールされていることが条件となります。
また、サイトサーバーからSCCMクライアントにアクセスして、インストールされているWindowsストアアプリの情報を収集するのですが、このときにWinRMというテクノロジーを使うので、SCCMクライアントでWinRMが有効になっていることが、もうひとつの条件となります。
WinRMの有効化は対象となるSCCMクライアントで、「WinRM quickconfig」のコマンドを実行するだけでOKです。

 

では、アプリケーション配布の設定をはじめましょう

1.ConfigMgrコンソールで、[ソフトウェアライブラリ]-[アプリケーション管理]-[アプリケーション]から[アプリケーションの作成]を選択します。
無題

2.アプリケーションの作成ウィザードで、Windowsアプリケーションパッケージ(Windowsストア内)を選択し、
[場所]でインストールしたいアプリを選択します。
scep19

場所の選択を行うときは、Windowsアプリがインストールされているコンピューター名を指定します。
すると、SCCMクライアントと通信し、クライアントにインストールされているアプリの一覧が表示されます。
ここでは、Wikipediaアプリを選択します。
scep18

3.あとはアプリの一般情報などを入力して、ウィザードを進め、終了します。
scep21

4.次に追加したアプリケーションを展開します。
scep24

5.ソフトウェアの展開ウィザードで、[コレクション]からアプリの配布対象となるユーザーまたはグループを選択します。
scep25

6.そのほか、アプリを配布する配布元となるサーバー(配布ポイント)の指定や、いつインストールするかなどの
指定を行って展開ウィザードを完了させます。
scep26

ここまででサイトサーバーでの設定は終わりです。

 

クライアント側でのインストール

アプリケーション配布の情報は、SCCMクライアントに同梱されるソフトウェアセンターアプリケーションから確認することもできますし、インストールを強制するように設定していれば、下図のようにポップアップ画面が表示されます。
無題3

ポップアップ画面をクリックして、インストールを開始すると、表示される画面がこれ。
無題2

つまり、Windowsストアアプリのアプリケーション配布はWindowsストアアプリ自体を配布ポイントからインストールするものではなく、「Windowsストアアプリをインストールしなさい」という命令だけが配布ポイントからSCCMクライアントに送られる仕組みになっていることがわかります。

アプリケーション配布機能には、Windowsストアアプリ以外にも、Windows Phoneアプリ、iOSアプリ、Playストアアプリなどを配布できます。特に、スマートフォン/タブレット系のアプリの場合、「どのデバイスで使うか?」よりも「誰が使うか?」に合わせてアプリケーション配布したほうが直感的な管理ができるように思います。

まさに、1ユーザー、マルチデバイス時代にあったアプリケーション配布方法ですね。