CMPivot サンプル スクリプト

Configuration Manager (現在のブランチ) に適用

次に、一般的なクエリのニーズと、CMPivot を使用してそれらを満たす方法について説明します。 CMPivot には Kusto Query Language (KQL) のサブセットが使用されます。

オペレーティング システム

オペレーティング システム情報を取得します。

// Sample query for OS information
OperatingSystem

最近使用したアプリケーション

次のクエリは、最近使用されたアプリケーション (過去 2 時間) を取得します。

CCMRecentlyUsedApplications
| where (LastUsedTime > ago(2h))
| project CompanyName, ProductName, ProductVersion, LastUsedTime

デバイスの開始時刻

次のクエリは、過去 7 日間にデバイスがいつ開始されたかを示しています。

OperatingSystem
| where LastBootUpTime <= ago(7d)
| summarize count() by bin(LastBootUpTime,1d)

空きディスク領域

次のクエリは、空きディスク領域を示しています。

LogicalDisk
| project Device, DeviceID, Name, Description, FileSystem, Size, FreeSpace
| order by DeviceID asc

デバイス情報

デバイス、製造元、モデル、OSVersion を表示します。

ComputerSystem
| project Device, Manufacturer, Model
| join (OperatingSystem | project Device, OSVersion=Caption)

デバイスの起動時間

デバイスの起動時間を表示する:

SystemBootData
| project Device, SystemStartTime, BootDuration, OSStart=EventLogStart, GPDuration, UpdateDuration
| order by SystemStartTime desc

認証エラー

イベント ログで認証エラーを検索します。

EventLog('Security')
| where  EventID == 4673

ProcessModule(<processname>)

特定のプロセスによって読み込まれたすべてのモジュール (dll) を列挙します。 ProcessModule は、正当なプロセスで隠れるマルウェアを探す場合に便利です。

ProcessModule('powershell')
| summarize count() by ModuleName
| order by count_ desc

マルウェア対策ソフトウェアの状態

Get-MpComputerStatus コマンドレットによって収集されたコンピューターにインストールされているマルウェア対策ソフトウェアの状態を取得します。 エンティティは、Windows 10 および Server 2016 以降で Defender を実行してサポートされています。 |

EPStatus
| project Device, QuickScanAge=datetime_diff('day',now(),QuickScanEndTime)
| summarize DeviceCount=count() by QuickScanAge

Micro のような任意の単語を含む BIOS 製造元を見つける

Bios
// Find BIOS Manufacturer that contains any word like Micro, such as Microsoft
| where Manufacturer like '%Micro%'

ハッシュでファイルを検索する

ハッシュでファイルを検索します。

Device
| join kind=leftouter ( File('%windir%\\system32\\*.exe')
| where SHA256Hash == 'A92056D772260B39A876D01552496B2F8B4610A0B1E084952FE1176784E2CE77')
| project Device, MalwareFound = iif( isnull(FileName), 'No', 'Yes')

過去 1 時間の CCM ログで 'Scripts' を検索する

次のクエリでは、過去 1 時間のイベントを確認します。

CcmLog('Scripts',1h)

レジストリ内の情報を検索する

レジストリ情報を検索します。

// Change the path to match your desired registry hive query
// The RegistryKey entity (added in version 2107) isn't supported with CMPivot for tenant attached devices.  

Registry('hklm:\SOFTWARE\Microsoft\EnterpriseCertificates\Root\Certificates\*')
RegistryKey('hklm:\SOFTWARE\Microsoft\EnterpriseCertificates\Root\Certificates\*')

RegistryKey('hklm:\SOFTWARE\Microsoft\SMS\*')
Registry('hklm:\SOFTWARE\Microsoft\SMS\*')

次の手順

CMPivot の詳細については、「 CMPivot を使用する」を参照してください。