インストール済みのすべてのソフトウェアが登録されているかどうかを確認するために、ファイルベース ディスカバリー を実行します。ディスカバリー の構成コンソールを使用すると、いつでもファイルベース ディスカバリー の有効化と構成を行えます。

始める前に

必要なロール:admin

手順

  1. PowerShell スクリプトをセットアップします。
    [filebaseddiscovery.ps1] スクリプトにはデフォルトで ServiceNow 署名があります。その証明書チェーンは、デフォルトで Windows によって信頼されている VeriSign ユニバーサルルート認証局まで遡れます。PowerShell スクリプトは ServiceNow 公開者によって署名されているため、信頼できる公開者リポジトリに ServiceNow 公開者を追加してください。
    スクリプト証明書

    実行ポリシーで独自の証明書を使用する必要がある場合、またはスクリプトを変更する必要がある場合は、スクリプトに再署名します。

    1. 「Windows - ファイルディスカバリー」プローブに移動します。
    2. filebaseddiscovey.ps1 プローブパラメーターを開きます。
    3. [] フィールドの内容をファイルにコピーします。
    4. ファイルに必要な変更を行い、ファイルの最後にある (古い) 署名ブロックを削除します。
    5. スクリプトに再署名します (https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-authenticodesignature?view=powershell-6 を参照)。

      再署名後、ファイルの最後に新しい署名ブロックが追加されます。

    6. ファイル内容全体をコピーし、ステップ b の filebaseddiscovery.ps1 プローブパラメーターの古い値を差し替えます。

      これで、Windows のファイルベース ディスカバリー は、更新された署名済みスクリプトを使用して実行されます。

    ウィルス対策ソフトウェアを使用している場合は、ウイルス対策ソフトウェアで脅威として認識されないように、必ずすべての ServiceNow Windows PowerShell スクリプトをリストに含めてください。

  2. ファイルベースの ディスカバリー プラグインをアクティブ化します
  3. ファイルベース ディスカバリー を有効にして構成します。
    ディスカバリー構成コンソールを使用すると、ファイルベース ディスカバリー を有効にすることや、インストール済みのすべてのソフトウェアを検索および管理するための複数のコンポーネントを構成することができます。

    既存のお客様のパフォーマンスに影響を与えないように、ファイルベース ディスカバリー はデフォルトで無効になっています。

  4. ファイルベース ディスカバリー のスキャンを構成します。
    ディスカバリー は、実行後に CI のファイル情報を返すと、実行間隔が経過するまで同じターゲットでは再度ファイルベース ディスカバリー を実行しません。ファイルベース ディスカバリー でスキャンを実行するときはパフォーマンスが犠牲になるので、スキャン頻度を決定することが重要です。ただし、パフォーマンス上の理由から、月次よりも頻繁な間隔を選択することはお勧めしません。
    1. ディスカバリー構成コンソールを使用して、[共通] を展開し、検出するファイルの最大数を入力します。
      注: この値を増やすとパフォーマンスに影響を与える可能性があります。
    2. CI についてファイルベース ディスカバリー を実行する [頻度] を選択します。
      デフォルトは [月次] に設定されています。
    注: ファイルベース ディスカバリー は、最初のコンテンツデータサービス (CDS) の同期が発生するまでトリガーされません。CDS から同期される最初のデータセットの場合、CDS の同期に約 24 時間かかることがあります。詳細については、「ファイル署名の正規化」を参照してください。

タスクの結果

ファイルベース ディスカバリー は構成セットに基づいて実行されます。その後、ディスカバリーダッシュボードを使用して結果を監視できます。
ファイルベース ディスカバリーの参照情報リンクファイルベースディスカバリーの参照情報

ファイルベース ディスカバリー の問題解決

ファイルベース ディスカバリー のセットアップまたは実行中に問題が発生した場合は、ここにリストされているアクションを実行すると解決につながることがあります。

問題 原因 / アクション
エラーメッセージ:File Discovery data not yet synced (ファイルディスカバリーデータがまだ同期されていません)...
  • CDS 時間で samp_file_* テーブルを同期できるようにしてください。
  • cds_client_schedule テーブルを確認し、「samp_file_*」テーブルのタイムスタンプが更新されているかどうかを確認します。
ファイルベースディスカバリーがディスカバリー中にトリガーされない。
  • 機能が有効になっていません。ディスカバリー定義構成コンソールを確認し、ファイルベース ディスカバリー が有効になっていることを確認してください。
  • スキャンの間隔が長すぎます。ディスカバリー定義構成コンソールで間隔設定を確認してください。
ファイルベースディスカバリーがディスカバリー中にトリガーされない。 次のアイテムのディスカバリー [discovery_private_properties] テーブルで管理されている内部プロパティを確認してください。このテーブルを表示するには、ナビゲーションフィルターに「discovery_private_properties.list」と入力して Enter を押します。
  • File_discovery.file_extensions_windows には、スキャンする Windows ファイル拡張子のリストが含まれている必要があります。
  • File_discovery.unix_filename_timestamp は 1970 タイムスタンプ以外のものである必要があります。
  • File_discovery_windows_filename.timestamp は 1970 タイムスタンプ以外のものである必要があります。
FileDiscoveryFilter からの MID サーバーログにエラーがある、または MID サーバーの問題が作成された。
  • ファイルベースディスカバリーの包含リストが存在するかどうかを確認してください。包含リストは MID サーバーインストールフォルダーの /agent/work にあります。存在しない場合、同期は失敗しています。
  • インスタンスの MID サーバーレコードを調べて、MID サーバーの問題が作成されたかどうかを確認してください。
  • MID サーバーは GetMIDInfo スクリプト化 SOAP サービスを使用して包含リストを同期します。このスクリプトからエラーが生成されるかどうかを確認してください。
  • MID サーバーレコードの [ファイル検出フィルターの更新] 関連リンクをクリックして、ファイル名をこの MID サーバーに同期させてください。
PowerShell のエラー
  • ウイルス対策ソフトウェアの除外リストにスクリプトを含めてください。
  • 信頼できる公開者リポジトリに ServiceNow 公開者を追加してください。
ファイルベースディスカバリーの参照情報リンク ファイルベースディスカバリーの参照情報