CMPivot の変更

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

CONFIGURATION MANAGER バージョン間で CMPivot に加えられた変更について学習するには、次の情報を使用します。

バージョン 2107 の CMPivot の変更

CMPivot のアクセス許可の要件の簡略化

CMPivot のアクセス許可の要件が簡略化されました。 新しいアクセス許可は、オンプレミス コンソールの CMPivot スタンドアロンおよび CMPivot に適用されます。 次の変更が行われました。

  • CMPivot で SMS スクリプトの 読み取りアクセス許可が不要になった

    • CMPivot.log に示されているように、503 (サービス利用不可) エラーが原因で管理サービスがフォールバックする場合、SMS プロバイダーは引き続きこのアクセス許可を必要とします。
  • 既定のスコープアクセス許可は必要ありません。

CMPivot の一般的な機能強化

CMPivot に対して次の機能強化が行われました。

  • summarize 演算子で使用できる maxif アグリゲーターと minif アグリゲーターを追加しました
  • クエリ エディターでのオートコンプリート候補のクエリの機能強化
  • レジストリ エンティティにキー値を追加しました
  • 指定された式に一致するすべてのレジストリ キーを返す新しい RegistryKey エンティティを追加しました

Registry エンティティと RegistryKey エンティティの違いを確認するには、次のサンプルを使用します。

// Change the path to match your desired registry hive query

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

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

バージョン 2103 の CMPivot の変更

バージョン 2103 以降では、CMPivot に対して次の機能強化が行われました。

結果が大きすぎる場合の警告メッセージとエクスポート CMPivot データ オプション

結果が大きすぎると、次の警告メッセージが表示されます。

クエリから多数の結果が返されました。 クエリを変更して結果を絞り込むか、このバナーを選択して結果をエクスポートします。

このメッセージは、次のシナリオで発生します。

  • 結果が 100,000 セルを超える場合。

    • たとえば、10 列のエンティティ データを含む 10,000 個のデバイス (行) に対して警告しきい値に達します。
    • この場合、結果をファイルにエクスポートするオプションが .csv 表示されます
  • 128 KB を超えるデータが特定のデバイスから返されるように要求された場合。

    • たとえば、 CcmLog('ciagent', 120d) クエリは結果をログに記録し、128 KB の制限を超える可能性があります。
    • 結果が 128 KB を超えると警告が表示されますが、クライアントからサーバーに返されないためエクスポートできません。

CMPivot からコミュニティ ハブで共有されている上位のクエリにアクセスする

バージョン 2103 以降では、オンプレミスの CMPivot から Community ハブで共有されている上位の CMPivot クエリにアクセスできます。 より広範なコミュニティが共有する事前に作成された CMPivot クエリを使用することで、CMPivot ユーザーはさまざまなクエリにアクセスできます。 オンプレミスの CMPivot はコミュニティ ハブにアクセスし、ダウンロードした上位の CMPivot クエリの一覧を返します。 ユーザーは、上位のクエリを確認し、カスタマイズしてから、オンデマンドで実行できます。 この改善により、クエリを構築することなく、すぐに使用するためのクエリの選択肢が広がり、将来の参照のためにクエリを構築する方法に関する情報共有も可能になります。

注:

これらのクエリは、Configuration Manager コンソールから CMPivot を実行するときに使用できます。 スタンドアロン CMPivot からはまだ使用できません。

前提条件:

CMPivot を使用してコミュニティ ハブの上位クエリにアクセスする

  1. [資産とコンプライアンス] ワークスペースに移動し、[デバイス コレクション] ノードを選択します。

  2. ターゲット コレクション、ターゲット デバイス、またはデバイス グループを選択し、リボンで [CMPivot の開始 ] を選択してツールを起動します。

  3. メニューのコミュニティ ハブ アイコンを使用します。

    コミュニティ ハブ アイコン

  4. 上位の共有 CMPivot クエリの一覧を確認します。

    コミュニティ ハブからの上位 CMPivot クエリ

  5. 上位のクエリのいずれかを選択して、クエリ ウィンドウに読み込みます。

  6. 必要に応じて クエリ を編集し、[ クエリの実行] を選択します。

  7. 必要に応じて、フォルダー アイコンを選択して、お気に入りの一覧にアクセスします。 後で実行するには、元のクエリまたは編集したバージョンをお気に入りの一覧に追加します。 コミュニティ ハブ アイコンを選択して、別のクエリを検索します。

  8. CMPivot ウィンドウを開いたままにして、クライアントからの結果を表示します。 CMPivot ウィンドウを閉じると、セッションは完了です。 クエリが送信された場合でも、クライアントはサーバーに状態メッセージ応答を送信します。

バージョン 2006 の CMPivot の変更

バージョン 2006 以降では、CMPivot に対して次の機能強化が行われました。

  • 管理コンソールから起動した CMPivot スタンドアロンと CMPivot が収束しました。 管理コンソールから CMPivot を起動すると、CMPivot スタンドアロンと同じ基になるテクノロジが使用され、シナリオパリティが提供されます。

  • CMPivot でのキーボード ナビゲーションの機能強化。

  • デバイス コレクションを選択しなくても、個々のデバイスまたはデバイス ノードから複数のデバイスから CMPivot を実行できます。 この改善により、ヘルプデスク ペルソナとして作業しているユーザーなどのユーザーが、事前に作成されたコレクションの外部にある特定のデバイスに対して CMPivot クエリを作成しやすくなります。

    • デバイス コレクション内の個々のデバイスまたは複数選択デバイスを選択するか、[ CMPivot の開始] を選択します。
  • クエリ リスト ビュー内のデバイスを返す場合は、1 つまたは複数のデバイスで [デバイス ピボット ] を選択し、それらのデバイスだけをピボットしてクエリを実行してさらにドリルインできます。 この変更により、元のコレクションから大規模なデバイス セットに対してクエリを実行せずにドリルインできます。 デバイス ピボットがピボット置き換えられました。

    • 既存の CMPivot 操作内で、出力から個々のデバイスまたは複数選択したデバイスを選択します。 [デバイス ピボット] オプションを使用して右クリックしてピボットします。 このアクションにより、選択したデバイスのみにスコープが設定された別の CMPivot インスタンスが起動されます。 これにより、必要なデバイスをピボットしてクエリを実行するだけで、コレクションを作成する必要がありません。
  • 個々のデバイスに対して CMPivot を実行すると、ウィンドウの上部にデバイス名が一覧表示されます。 複数のデバイスの場合、選択したデバイスの数がウィンドウの上部に一覧表示されます。

  • CMPivot がコレクションに対してクエリを実行する必要がなくなったため、[クエリの概要] タブの [コレクションの 作成 ] オプションが削除されました。 Device Pivot を実行して、クエリを実行するデバイスのみにスコープを設定した CMPivot の新しいインスタンスを開きます。 コレクションの作成は、メイン メニューで引き続き使用できます。

CMPivot を使用した複数のデバイスのデバイス ピボット

バージョン 2002 の CMPivot の変更

CMPivot エンティティの移動が容易になりました。 Configuration Manager バージョン 2002 以降では、CMPivot エンティティを検索できます。 エンティティとエンティティ オブジェクトの種類を簡単に区別するために、新しいアイコンも追加されました。

CMPivot エンティティの検索

バージョン 1910 の CMPivot の変更

バージョン 1910 以降、CMPivot はネットワーク トラフィックとサーバーの負荷を減らすために大幅に最適化されました。 さらに、トラブルシューティングとハンティングに役立つ多数のエンティティとエンティティの機能強化が追加されました。 バージョン 1910 の CMPivot では、次の変更が導入されました。

CMPivot エンジンの最適化

ネットワーク トラフィックとサーバーの負荷を軽減するために、CMPivot は 1910 年に最適化されました。 多くのクエリ操作が、サーバーではなくクライアントで直接実行されるようになりました。 この変更は、一部の CMPivot 操作で最初のクエリから最小限のデータが返されることを意味します。 詳細については、データをドリル インする場合は、新しいクエリを実行して、追加のデータをクライアントからフェッチする場合があります。 たとえば、"集計カウント" クエリを実行したときに、以前は大きなデータ セットがサーバーに返されていました。 大規模なデータ セットを返す場合、すぐにドリルダウンが提供されましたが、多くの場合、集計された数だけが必要でした。 1910 年に特定のクライアントにドリルインすることを選択すると、要求した追加データを返すためにデータの別のコレクションが発生します。 この変更により、多数のクライアントに対するクエリのパフォーマンスとスケーラビリティが向上します。

CMPivot の最適化により、CMPivot クエリの実行に必要なネットワークとサーバーの CPU 負荷が大幅に削減されます。 これらの最適化により、ギガバイト単位のクライアント データをリアルタイムで処理できるようになりました。 次のクエリは、これらの最適化を示しています。

  • エンタープライズ内のすべてのクライアントのすべてのイベント ログで、認証エラーを検索します。

    EventLog('Security')
    | where  EventID == 4673
    | summarize count() by Device
    | order by count_ desc
    
  • ハッシュでファイルを検索します。

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

WinEvent(<logname>,[<timespan>])

このエンティティは、イベント ログとイベント トレース ログ ファイルからイベントを取得するために使用されます。 エンティティは、Windows イベント ログ テクノロジによって生成されたイベント ログからデータを取得します。 エンティティは、Windows イベント トレース (ETW) によって生成されたログ ファイル内のイベントも取得します。 WinEvent は、既定で過去 24 時間以内に発生したイベントを確認します。 ただし、24 時間の既定値は、タイムスパンを含めることでオーバーライドできます。

WinEvent('Microsoft-Windows-HelloForBusiness/Operational', 1d)
| where LevelDisplayName =='Error'
| summarize count() by Device

FileContent(<filename>)

FileContent は、テキスト ファイルの内容を取得するために使用されます。

FileContent('c:\\windows\\SMSCFG.ini')
| where Content startswith  'SMS Unique Identifier='
| project Device, SMSId= substring(Content,22)

ProcessModule(<processname>)

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

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

AadStatus

このエンティティを使用して、デバイスから現在のMicrosoft Entra ID 情報を取得できます。

AadStatus
| project Device, IsAADJoined=iif( isnull(DeviceId),'No','Yes')
| summarize DeviceCount=count() by IsAADJoined
| render piechart

EPStatus

EPStatus は、コンピューターにインストールされているマルウェア対策ソフトウェアの状態を取得するために使用されます。

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

CMPivot スタンドアロンを使用したローカル デバイス クエリの評価

Configuration Manager コンソールの外部で CMPivot を使用する場合は、Configuration Manager インフラストラクチャを必要とせずにローカル デバイスだけを照会できます。 CMPivot Azure Log Analytics クエリを利用して、ローカル デバイスの WMI 情報をすばやく表示できるようになりました。 これにより、より大きな環境で実行する前に、CMPivot クエリの検証と絞り込みも可能になります。 CMPivot スタンドアロンは英語でのみ使用できます。 CMPivot スタンドアロンの詳細については、「 CMPivot スタンドアロン」を参照してください。

ローカル デバイス クエリの評価に関する既知の問題

  • ロックダウンされた WMI クラスなど、アクセスできない WMI エンティティについて この PC でクエリを実行すると、CMPivot でクラッシュが発生する可能性があります。 昇格された特権を持つアカウントを使用して CMPivot を実行し、それらのエンティティに対してクエリを実行します。
  • この PC で WMI 以外のエンティティを照会すると、無効な名前空間またはあいまいな例外が表示されます。
  • 実行可能ファイルのパスから直接ではなく、スタート メニューのショートカットから CMPivot スタンドアロンを実行します。

その他の機能強化

  • new like 演算子を使用して正規表現型クエリを実行できます。 例:

    //Find BIOS manufacture that contains any word like Micro, such as Microsoft
    Bios
    | where Manufacturer like '%Micro%'
    
  • CcmLog() エンティティと EventLog() エンティティが更新され、既定では過去 24 時間以内のメッセージのみが表示されます。 この動作は、オプションの timespan を渡すことによってオーバーライドできます。 たとえば、次のクエリでは、過去 1 時間のイベントを確認します。

    CcmLog('Scripts',1h)
    
  • File() エンティティが更新され、非表示ファイルとシステム ファイルに関する情報が収集され、MD5 ハッシュが含まれています。 MD5 ハッシュは SHA256 ハッシュほど正確ではありませんが、ほとんどのマルウェア情報で一般的に報告されるハッシュになる傾向があります。

  • クエリにコメントを追加できます。 この動作は、クエリを共有する場合に役立ちます。 例:

    //Get the top ten devices sorted by user
    Device
    | top 10 by UserName
    
  • CMPivot は、最後のサイトに自動的に接続します。 CMPivot を起動した後、必要に応じて新しいサイトに接続できます。

  • [ エクスポート ] メニューから、 クリップボードへの [クエリ] リンクの新しいオプションを選択します。 この操作により、他のユーザーと共有できるリンクがクリップボードにコピーされます。 例:

    cmpivot:Ly8gU2FtcGxlIHF1ZXJ5DQpPcGVyYXRpbmdTeXN0ZW0NCnwgc3VtbWFyaXplIGNvdW50KCkgYnkgQ2FwdGlvbg0KfCBvcmRlciBieSBjb3VudF8gYXNjDQp8IHJlbmRlciBiYXJjaGFydA==

    このリンクは、次のクエリを使用して CMPivot スタンドアロンを開きます。

    // Sample query
    OperatingSystem
    | summarize count() by Caption
    | order by count_ asc
    | render barchart
    

    ヒント

    このリンクを機能させるには、 CMPivot スタンドアロンをインストールします

  • クエリ結果で、デバイスがMicrosoft Defender for Endpointに登録されている場合は、デバイスを右クリックしてMicrosoft Defender セキュリティ センターオンライン ポータルを起動します。

バージョン 1910 の CMPivot に関する既知の問題

  • 上限に達すると、最大結果バナーが表示されない場合があります。
    • 各クライアントは、クエリごとに 128 KB 相当のデータに制限されています。
    • クエリの結果が 128 KB を超えると、結果が切り捨てられる可能性があります。

バージョン 1906 の CMPivot の変更

バージョン 1906 以降では、次の項目が CMPivot に追加されました。

CMPivot に結合、追加演算子、アグリゲーターを追加する

これで、追加の算術演算子、アグリゲーター、レジストリとファイルの併用などのクエリ結合を追加できるようになりました。 次の項目が追加されました。

テーブル演算子

テーブル演算子 説明
参加 同じデバイスの行を照合して、2 つのテーブルの行をマージして新しいテーブルを形成する
render 結果をグラフィカル出力としてレンダリングします

レンダー演算子は CMPivot に既に存在します。 複数の系列と with ステートメントのサポートが追加されました。 詳細については、「 」セクションと Kusto の join 演算子 に関する記事を参照してください。

結合の制限事項

  1. 結合列は、常に [ デバイス ] フィールドで暗黙的に実行されます。
  2. クエリごとに最大 5 つの結合を使用できます。
  3. 最大 64 個の組み合わせ列を使用できます。

スカラー演算子

オペレーター 説明
+ 追加する 2 + 1, now() + 1d
- 減算 2 - 1, now() - 1d
* 乗算 2 * 2
/ 除算 2 / 1
% モジュロ 2 % 1

集計関数

関数 説明
percentile() Expr によって定義された母集団の指定された最も近いランクパーセンタイルの推定値を返します
sumif() 述語が true と評価される Expr の合計を返します

スカラー関数

関数 説明
case() 述語の一覧を評価し、述語が満たされている最初の結果式を返します
iff() 述語が true (2 番目) または false (3 番目) に評価されたかどうかに応じて、最初の引数を評価し、2 番目または 3 番目の引数の値を返します。
indexof() 関数は、入力文字列内の指定された文字列の最初の出現の 0 から始まるインデックスを報告します
strcat() 1 から 64 個の引数の間の連結
strlen() 入力文字列の長さを文字数で返します
substring() 一部のインデックスから文字列の末尾まで、ソース文字列から部分文字列を抽出します
Tostring() 入力を文字列操作に変換します

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

    ComputerSystem
    | project Device, Manufacturer, Model
    | join (OperatingSystem | project Device, OSVersion=Caption)
    
  • デバイスの起動時間のグラフを表示します。

    SystemBootData
    | where Device == 'MyDevice'
    | project SystemStartTime, BootDuration, OSStart=EventLogStart, GPDuration, UpdateDuration
    | order by SystemStartTime desc
    | render barchart with (kind=stacked, title='Boot times for MyDevice', ytitle='Time (ms)')
    

    デバイスの起動時間を示す積み上げ横棒グラフ (ミリ秒)

セキュリティ管理者ロールに CMPivot アクセス許可を追加しました

バージョン 1906 以降、Configuration Managerの組み込みのセキュリティ管理者ロールに次のアクセス許可が追加されました。

  • SMS スクリプトで読み取る
  • コレクションで CMPivot を実行する
  • インベントリ レポートの読み取り

注:

スクリプトの実行 は、 CMPivot の実行 アクセス許可のスーパー セットです。

CMPivot スタンドアロン

CMPivot はスタンドアロン アプリとして使用できます。 CMPivot スタンドアロンは英語でのみ使用できます。 Configuration Manager コンソールの外部で CMPivot を実行して、環境内のデバイスのリアルタイム状態を表示します。 この変更により、最初に本体をインストールせずに、デバイスで CMPivot を使用できます。

CMPivot の機能を、コンピューターに本体をインストールしていないヘルプデスクやセキュリティ管理者などの他のペルソナと共有できます。 これらの他のペルソナは、CMPivot を使用して、従来使用されている他のツールと共にConfiguration Managerを照会できます。 この豊富な管理データを共有することで、連携して、ロールをまたがるビジネス上の問題を積極的に解決できます。

CMPivot スタンドアロンのインストール

  1. CMPivot を実行するために必要なアクセス許可を設定します。 詳細については、「 前提条件」を参照してください。 アクセス許可がユーザーに適している場合は、 セキュリティ管理者ロール を使用することもできます。

  2. 次のパスで CMPivot アプリ インストーラーを見つけます。 <site install path>\tools\CMPivot\CMPivot.msi そのパスから実行することも、別の場所にコピーすることもできます。

  3. CMPivot スタンドアロン アプリを実行すると、サイトに接続するように求められます。 サーバーの全体管理またはプライマリ サイト サーバーの完全修飾ドメイン名またはコンピューター名を指定します。

    • CMPivot スタンドアロンを開くたびに、サイト サーバーに接続するように求められます。
  4. CMPivot を実行するコレクションを参照し、クエリを実行します。

    クエリを実行するコレクションを参照します

注:

  • スクリプトの実行リソース エクスプローラー、Web 検索などの右クリック アクションは、CMPivot スタンドアロンでは使用できません。 CMPivot スタンドアロンの主な用途は、Configuration Manager インフラストラクチャとは別にクエリを実行することです。 セキュリティ管理者を支援するために、CMPivot スタンドアロンには、Microsoft Defender セキュリティ センターに接続する機能が含まれています。
  • CMPivot スタンドアロンを使用して、ローカル デバイス クエリの評価を行うことができます。

バージョン 1902 の CMPivot の変更

バージョン 1902 Configuration Manager以降、階層で中央管理サイト (CAS) から CMPivot を実行できます。 プライマリ サイトは引き続きクライアントへの通信を処理します。 中央管理サイトから CMPivot を実行すると、高速メッセージ サブスクリプション チャネル経由でプライマリ サイトと通信します。 この通信は、サイト間の標準的なSQL Serverレプリケーションに依存しません。

CAS で CMPivot を実行するには、SQL Serverまたは SMS プロバイダーが同じコンピューター上にない場合、または可用性グループ構成の場合SQL Server Always On追加のアクセス許可が必要です。 これらのリモート構成では、CMPivot の "ダブル ホップ シナリオ" があります。

このような "ダブル ホップ シナリオ" で CMPivot を CAS で動作させるには、制約付き委任を定義できます。 この構成のセキュリティへの影響を理解するには、 Kerberos の制約付き委任に関 する記事を参照してください。 Kerberos は、マシン間のすべてのホップを処理する必要があります。SQL SERVERや SMS プロバイダーなどの複数のリモート構成が CAS と併置されているか、信頼されたフォレストが複数ある場合は、アクセス許可設定の組み合わせが必要になる場合があります。 実行する必要がある手順を次に示します。

CAS にはリモート SQL Serverがあります

  1. 各プライマリ サイトのSQL Serverに移動します。

    1. CAS リモート SQL Serverと CAS サイト サーバーをConfigmgr_DviewAccess グループに追加します。 プライマリ サイトのSQL ServerでグループをConfigmgr_DviewAccessする
  2. [Active Directory ユーザーとコンピューター] に移動します。

    1. プライマリ サイト サーバーごとに、右クリックして [プロパティ] を選択 します
      1. [委任] タブで、3 つ目のオプション [ このコンピューターを指定されたサービスへの委任のみに信頼する] を選択します。
      2. [ Kerberos のみ使用] を選択します
      3. ポートとインスタンスを使用して CAS のSQL Server サービスを追加します。
      4. これらの変更が会社のセキュリティ ポリシーと一致していることを確認してください。
    2. CAS サイトの場合は、右クリックして [プロパティ] を選択 します
      1. [委任] タブで、3 つ目のオプション [ このコンピューターを指定されたサービスへの委任のみに信頼する] を選択します。
      2. [ Kerberos のみ使用] を選択します
      3. 各プライマリ サイトのSQL Server サービスをポートとインスタンスで追加します。
      4. これらの変更が会社のセキュリティ ポリシーと一致していることを確認してください。

    ダブル ホップの CMPivot AD 委任の例

CAS にはリモート プロバイダーがあります

  1. 各プライマリ サイトのSQL Serverに移動します。
    1. CAS プロバイダー コンピューター アカウントと CAS サイト サーバーを Configmgr_DviewAccess グループに追加します。
  2. [Active Directory ユーザーとコンピューター] に移動します。
    1. CAS プロバイダー コンピューターを選択し、右クリックして [プロパティ] を選択します。
      1. [委任] タブで、3 つ目のオプション [ このコンピューターを指定されたサービスへの委任のみに信頼する] を選択します。
      2. [ Kerberos のみ使用] を選択します
      3. 各プライマリ サイトのSQL Server サービスをポートとインスタンスで追加します。
      4. これらの変更が会社のセキュリティ ポリシーと一致していることを確認してください。
    2. CAS サイト サーバーを選択し、右クリックして [プロパティ] を選択 します
      1. [委任] タブで、3 つ目のオプション [ このコンピューターを指定されたサービスへの委任のみに信頼する] を選択します。
      2. [ Kerberos のみ使用] を選択します
      3. 各プライマリ サイトのSQL Server サービスをポートとインスタンスで追加します。
      4. これらの変更が会社のセキュリティ ポリシーと一致していることを確認してください。
  3. CAS リモート プロバイダー マシンを再起動します。

可用性グループのSQL Server Always On

  1. 各プライマリ サイトのSQL Serverに移動します。
    1. CAS サイト サーバーを Configmgr_DviewAccess グループに追加します。
  2. [Active Directory ユーザーとコンピューター] に移動します。
    1. プライマリ サイト サーバーごとに、右クリックして [プロパティ] を選択 します
      1. [委任] タブで、3 つ目のオプション [ このコンピューターを指定されたサービスへの委任のみに信頼する] を選択します。
      2. [ Kerberos のみ使用] を選択します
      3. ポートとインスタンスを使用して、SQL Server ノードの CAS のSQL Server サービス アカウントを追加します。
      4. これらの変更が会社のセキュリティ ポリシーと一致していることを確認してください。
    2. CAS サイト サーバーを選択し、右クリックして [プロパティ] を選択 します
      1. [委任] タブで、3 つ目のオプション [ このコンピューターを指定されたサービスへの委任のみに信頼する] を選択します。
      2. [ Kerberos のみ使用] を選択します
      3. 各プライマリ サイトのSQL Server サービスをポートとインスタンスで追加します。
      4. これらの変更が会社のセキュリティ ポリシーと一致していることを確認してください。
  3. CAS リスナー名と各プライマリ リスナー名に対して SPN が発行 されていることを確認します。
  4. プライマリ SQL Server ノードを再起動します。
  5. CAS サイト サーバーと CAS SQL Server ノードを再起動します。

バージョン 1810 の CMPivot の変更

CMPivot には、Configuration Manager バージョン 1810 以降の次の機能強化が含まれています。

CMPivot ユーティリティとパフォーマンス

  • CMPivot は、20,000 行ではなく最大 100,000 個のセルを返します。

    • エンティティに 5 つのプロパティがある場合(つまり、5 列)、最大 20,000 行が表示されます。
    • プロパティが 10 個のエンティティの場合、最大 10,000 行が表示されます。
    • 表示されるデータの合計は、100,000 セル以下になります。
  • [クエリの概要] タブで、失敗したデバイスまたはオフライン デバイスの数を選択し、[コレクションの 作成] オプションを選択します。 このオプションを使用すると、修復の展開でこれらのデバイスを簡単にターゲットにすることができます。

    • CMPivot でコレクションに対してクエリを実行する必要がなくなったため、このオプションはバージョン 2006 で削除されました。
  • フォルダー アイコンをクリックして 、お気に入りの クエリを保存します。 CMPivot でお気に入りのクエリを保存する例

  • 1810 バージョンに更新されたクライアントは、高速通信チャネル経由で 80 KB 未満の出力をサイトに返します。

    • この変更により、スクリプトまたはクエリの出力を表示するパフォーマンスが向上します。
    • スクリプトまたはクエリの出力が 80 KB を超える場合、クライアントは状態メッセージを介してデータを送信します。
    • クライアントが 1810 クライアント バージョンに更新されない場合、状態メッセージは引き続き使用されます。
  • CMPivot を起動すると、次のエラーが表示されることがあります。 互換性のないスクリプト バージョンのため、現在 CMPivot を使用できません。この問題は、階層がサイトのアップグレード中である可能性があります。アップグレードが完了するまで待ってから、もう一度やり直してください。

    • このメッセージが表示される場合は、次を意味する可能性があります。
      • セキュリティ スコープが正しく設定されていません。
      • このプロセスでは、アップグレードに問題があります。
      • 基になる CMPivot スクリプトに互換性がありません。

スカラー関数

CMPivot では、次のスカラー関数がサポートされています。

  • ago(): 現在の UTC クロック時刻から指定されたタイムスパンを減算します
  • datetime_diff(): 2 つの datetime 値の予定表の差を計算します
  • now(): 現在の UTC クロック時刻を返します
  • bin(): 指定されたビン サイズの整数倍数に値を丸めます

注:

datetime データ型は、一時的な時間を表し、通常は日付と時刻として表されます。 時間値は 1 秒単位で測定されます。 datetime 値は常に UTC タイム ゾーンにあります。 常に ISO 8601 形式で日付時刻リテラルを表します(例: yyyy-mm-dd HH:MM:ss

  • datetime(2015-12-31 23:59:59.9): 特定の日付時刻リテラル
  • now(): 現在の時刻
  • ago(1d): 現在の時刻から 1 日を差し引いた時刻

視覚化のレンダリング

CMPivot には、KQL レンダー 演算子の基本的なサポートが含まれるようになりました。 このサポートには、次の種類が含まれます。

  • barchart: 最初の列は x 軸で、テキスト、datetime、または数値を指定できます。 2 番目の列は数値である必要があり、水平ストリップとして表示されます。
  • 列グラフ: 横棒グラフと同様に、水平ストリップではなく垂直ストリップを使用します。
  • piechart: 最初の列は色軸、2 番目の列は数値です。
  • timechart: 線グラフ。 最初の列は x 軸で、datetime にする必要があります。 2 番目の列は y 軸です。

例: 横棒グラフ

次のクエリは、最近使用したアプリケーションを棒グラフとしてレンダリングします。

CCMRecentlyUsedApplications
| summarize dcount( Device ) by ProductName
| top 10 by dcount_
| render barchart

CMPivot 横棒グラフの視覚化の例

例: タイム チャート

タイム チャートをレンダリングするには、新しい bin() 演算子を使用してイベントを時間内にグループ化します。 次のクエリは、過去 7 日間にデバイスが開始されたタイミングを示しています。

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

CMPivot タイム チャートの視覚化の例

例: 円グラフ

次のクエリでは、すべての OS バージョンが円グラフに表示されます。

OperatingSystem
| summarize count() by Caption
| render piechart

CMPivot 円グラフの視覚化の例

ハードウェア インベントリ

CMPivot を使用して、ハードウェア インベントリ クラスに対してクエリを実行します。 これらのクラスには、ハードウェア インベントリに対して行うカスタム拡張機能が含まれます。 CMPivot は、サイト データベースに格納されている最後のハードウェア インベントリ スキャンからキャッシュされた結果を直ちに返します。 同時に、オンライン クライアントからのライブ データを使用して、必要に応じて結果を更新します。

結果テーブルまたはグラフ内のデータの色の彩度は、データがライブかキャッシュされているかを示します。 たとえば、濃い青色はオンライン クライアントからのリアルタイム データです。 水色はキャッシュされたデータです。

LogicalDisk
| summarize sum( FreeSpace ) by Device
| order by sum_ desc
| render columnchart

縦棒グラフの視覚化を使用した CMPivot インベントリ クエリの例

制限事項

  • 次のハードウェア インベントリ エンティティはサポートされていません。
    • 配列プロパティ (IP アドレスなど)
    • Real32/Real64
    • 埋め込みオブジェクトのプロパティ
  • インベントリ エンティティ名は文字で始まる必要があります
  • 同じ名前のインベントリ エンティティを作成して、組み込みのエンティティを上書きすることはできません

スカラー演算子

CMPivot には、次のスカラー演算子が含まれています。

注:

  • LHS: 演算子の左側にある文字列
  • RHS: 演算子の右側の文字列
オペレーター 説明 例 (true が生成されます)
== 等しい "aBc" == "aBc"
!= 等しくない "abc" != "ABC"
LHS に RHS の一致が含まれています "FabriKam" like "%Brik%"
!という感じで LHS に RHS の一致が含まれていない "Fabrikam" !like "%xyz%"
contains RHS は、LHS のサブシーケンスとして発生します "FabriKam" contains "BRik"
!含む LHS で RHS が発生しない "Fabrikam" !contains "xyz"
startswith RHS は LHS の初期サブシーケンスです "Fabrikam" startswith "fab"
!Startswith RHS は LHS の初期サブシーケンスではありません "Fabrikam" !startswith "kam"
endswith RHS は LHS の終了サブシーケンスです "Fabrikam" endswith "Kam"
!Endswith RHS は LHS の終了サブシーケンスではありません "Fabrikam" !endswith "brik"

クエリの概要

CMPivot ウィンドウの下部にある [ クエリの概要 ] タブを選択します。 この状態は、オフラインになっているクライアントを特定したり、発生する可能性のあるエラーのトラブルシューティングを行ったりするのに役立ちます。 [カウント] 列の値を選択して、その状態の特定のデバイスの一覧を開きます。

たとえば、障害状態のデバイスの数を選択します。 特定のエラー メッセージを表示し、これらのデバイスの一覧をエクスポートします。 特定のコマンドレットが認識されないというエラーが発生した場合は、エクスポートされたデバイスリストからコレクションを作成して、Windows PowerShell更新プログラムを展開します。

CMPivot 監査ステータス メッセージ

バージョン 1810 以降、CMPivot を実行すると、 MessageID 40805 で監査状態メッセージが作成されます。 ステータス メッセージを表示するには、[システムステータスステータスメッセージクエリ監視>] > に移動します。 特定のユーザーのすべての監査状態メッセージ、特定のサイトのすべての監査状態メッセージ、または独自のステータス メッセージ クエリを作成できます。

メッセージには次の形式が使用されます。

MessageId 40805: User UserName> は、コレクション <コレクション ID に対して、ハッシュ <Script-Hash> を使用してスクリプト Script-Guid> を>実行しました<。<

  • 7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14は、CMPivot の Script-Guid です。
  • Script-Hash は、クライアントの scripts.log ファイルで確認できます。
  • また、クライアントのスクリプト ストアに格納されているハッシュを確認することもできます。 クライアントのファイル名は Script-Guid_Script-Hash です<>。<>
    • ファイル名の例: C:\Windows\CCM\ScriptStore\7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14_abc1d23e45678901fabc123d456ce789fa1b2cd3e456789123fab4c56789d0123.ps

CMPivot 監査状態メッセージのサンプル

次の手順

CMPivot のトラブルシューティング