
Azureベースのクライアントインベントリとドリフト検出ツールで、Windows構成データ(アンチウイルス、パッチ適用、Bitlocker)をLogAnalyticsに収集し、KQL駆動のダッシュボードやSentinelアラートに利用します。

あなたはコントロールできていますか? - それとも、パッチ適用、アンチウイルス、BitLocker有効化などのコアインフラストラクチャプロセスが逸脱していませんか?または、LenovoやDellの保証に対して保証状態を確認できる高度なインベントリを実行したいですか?それなら、読み続けてください。
ClientInspector をチェックしてください。これにより、完全なクライアント環境に関する素晴らしい洞察を得ることができます。
ClientInspector はコミュニティに無料で提供されています。Azure Log Ingestion Pipeline、Azure Data Collection Rules、Azure LogAnalytics を使用してクライアントからデータを取得し、Azure Monitor と Azure Dashboards で表示し、Microsoft Sentinel を使用して「逸脱アラート」を受け取る方法を示すクールなショーケースとして構築されています。
ClientInspector (v2) は、収集したデータを Log ingestion API、Azure Data Collection Rules (DCR)、Azure Data Collection Endpoints (DCE) を使用して、Azure LogAnalytics ワークスペース の カスタムログ にアップロードします。




重要なのは、私はMicrosoftのセキュリティおよび管理スタックと競合するような独立した管理ツールを構築しようとしているわけではないということです。
Microsoft Azure/M365 の管理およびセキュリティスタックに勝るものはありません。それらはロックスターソリューションです。
しかし、私はログ機能と、クライアント、サーバー、クラウド、サードパーティシステムからデータを取得し、そのデータからクールで価値のある情報を得る力に非常に情熱を持っています。
サーバー向けの同様のソリューションとしてServerInspectorがあります。残念ながら、公開されていません。
Microsoft製品チームの素晴らしい皆さんに大感謝 - あなたたちはロックスターです 😄
楽しい探索を 😄
どのようなデータが収集されますか?
望ましい状態のダッシュボード - データから環境の洞察を得るには?
データをクエリするには? - Kusto (KQL) が答えです
アーキテクチャ、スキーマ、ネットワーキング
実装
依存関係
ClientInspector.ps1 の実行 - 3つのモード
ClientInspector のサンプル出力
セキュリティ
ClientInspector データセットのレイアウト
Verbose モードと詳細ヘルプ
コスト - これらのデータを保存するのにどれくらいかかりますか?
バグ発見時はお知らせください
連絡先
ビデオ 3m 19s - コマンドラインを使用した ClientInspector の実行 (通常モード)
ビデオ 1m 40s - 2つのテーブルとDCRの自動作成 (Verbose モード)
ビデオ 1m 37s - 2つのテーブルとDCRの自動作成 (通常モード)
ビデオ 1m 34s - DCRとテーブルのスキーマを確認
ビデオ 2m 19s - データ操作
ビデオ 1m 58s - データに対する Kusto クエリ
ビデオ 3m 01s - ダッシュボード
ビデオ 0m 48s - データの使用例 - Lenovo 保証データベースの検索
ビデオ 7m 25s - ClientInspector DeploymentKit を使用したデプロイ
ClientInspector は、Windows クライアントから多くの素晴らしい情報を収集し、そのデータを Azure LogAnalytics カスタムテーブル に送信するために使用できます。
このスクリプトは以下の情報を収集します(設定、情報、構成、状態):
お客様のニーズに合わせて、さらにクールなデータコレクションを自由に追加してください。コミュニティに参加したい場合は、コミュニティ全体の利益になると考えるコレクションがあれば、メールでお送りください。
PowerShell で取得できる任意のソースデータ(WMI、CIM、外部データ、REST API、XML 形式、JSON 形式、CSV 形式など)を使用できます。
データを送信する前に、それらが有効であり、無関係なデータが削除されていることを確認するために、通常、データを操作する必要があることを理解することが非常に重要です。
ClientInspector は、PowerShell モジュール AzLogDcIngestPS 内の 24 の関数すべてを使用して、ソースデータの操作を処理し、データ内の「ノイズ」を除去、テーブル/DCR 内の禁止された列の名前を変更、さらに UserLoggedOn、CollectionTime、Computer などの追加の洞察による透明性のニーズをサポートします。
Write-Output "" Write-Output "Collecting Bios information ... Please Wait !"
$DataVariable = Get-CimInstance -ClassName Win32_BIOS
#-------------------------------------------------------------------------------------------
#-------------------------------------------------------------------------------------------
$DataVariable = Convert-CimArrayToObjectFixStructure -data $DataVariable -Verbose:$Verbose
$DataVariable = Add-CollectionTimeToAllEntriesInArray -Data $DataVariable -Verbose:$Verbose
$DataVariable = Add-ColumnDataToAllEntriesInArray -Data $DataVariable -Column1Name Computer -Column1Data $Env:ComputerName -Column2Name UserLoggedOn -Column2Data $UserLoggedOn -Verbose:$Verbose
$DataVariable = Filter-ObjectExcludeProperty -Data $DataVariable -ExcludeProperty __*,SystemProperties,Scope,Qualifiers,Properties,ClassPath,Class,Derivation,Dynasty,Genus,Namespace,Path,Property_Count,RelPath,Server,Superclass -Verbose:$Verbose
$DataVariable = ValidateFix-AzLogAnalyticsTableSchemaColumnNames -Data $DataVariable -Verbose:$Verbose
$DataVariable = Build-DataArrayToAlignWithSchema -Data $DataVariable -Verbose:$Verbose
このコマンドを実行して、ソースオブジェクトを確認できます。````
# Get insight about the schema structure of an object BEFORE changes. Command is only needed to verify columns in schema
Get-ObjectSchemaAsArray -Data $DataVariable -Verbose:$Verbose
AzLogDcrIngestPSで利用可能な関数の詳細とその使用方法については、こちらをご覧ください
初期デプロイメントの一環として、ClientInSpectorV2-DeploymentKitを使用すると、多くのAzureダッシュボードとAzure Workbooksにアクセスできます。
ダッシュボードの考え方は、インフラストラクチャが「望ましい状態」から逸脱している場所を示すことです。それらを、インフラストラクチャが制御下にないKPIと考えてください。
パッチ適用やアンチウイルス管理のタスクを持つ代わりに、コンピュータがパッチ適用されていない場所、アンチウイルスのリアルタイム保護が実行されていない場所、または過去24時間以内にブルースクリーンが発生したマシンを示すKPIを持つことを検討できます。
これはMicrosoft Secure Scoreと同じ概念です。
