System Center Orchestrator(SCO)で自動化したはいいけど、誰が実行したかの監査データを取得したいと思うことはあると思います。そのような時のために、SCOには監査証跡機能がついています。TechNetだと以下のページがそれにあたります。
監査証跡
http://technet.microsoft.com/ja-jp/library/hh488400.aspx
コマンド一本で有効化できるので、とても簡単です。
PS> cd <システム ドライブ>:\Program Files (x86)\Microsoft System Center 2012\Orchestrator\Management Server PS> atlc /enable
ManagementServiceのログの中を見てみると、Runbookの名前と一緒に実行したユーザも取得できていることがわかります。
- ログファイル格納フォルダ
<システム ドライブ>:\ProgramData\Microsoft System Center 2012\Orchestrator\Audit\ManagementService
- ログファイルの中身
"2014-Dec-03 03:12:19","SCOHOST","domain\user2","Runbook 1" "2014-Dec-03 03:13:09","SCOHOST","domain\user1","Runbook 3" "2014-Dec-03 03:14:49","SCOHOST","domain\user1","Runbook 2" "2014-Dec-03 03:15:08","SCOHOST","domain\user1","Runbook 1"
最低限の監査情報は取れるのですが、欠点があります。Web ConsoleからのRunbook実行の場合、ユーザが監査ログに記録されません。以下のサイトを見ても、
Orchestrator Web サービスと Orchestration Console のセキュリティ
http://technet.microsoft.com/ja-jp/library/hh912318.aspx
このように書いてあります。
Orchestrator 展開の既定の設定では、Web サービスの呼び出しのログは記録されません。 これは、Orchestration コンソールと Orchestration Integration Toolkit (OIT) で作成された要求に適用されます。 その結果、ユーザーがジョブを開始して Runbook にパラメーターを渡しても、ジョブを開始したユーザーの記録が残りません。
色々調べても良い設定が無く途方に暮れていたのですが、こちらの参照ページで良い方法が書かれていました。大変感謝です。
http://jmattivi.blogspot.jp/2012/09/audit-jobs-started-from-orchestration.html
スクリプトとクエリに少し修正が必要ですが、すぐに動くようになります。この方法で日次で監査ログ取得すればWeb Consoleからの実行ユーザの情報も取れそうです。