検出用のカスタム PowerShell スクリプト

Intune への準拠 にカスタム 設定を使用する前に、デバイス上のカスタム コンプライアンス設定を検出する PowerShell スクリプトを定義する必要があります。

検出スクリプト:

  • コンプライアンス ポリシーを作成する前に Intune に追加されます。 追加後、カスタム設定を使用してコンプライアンス ポリシーを作成するときに選択できます。
  • コンプライアンス ポリシーを受け取るデバイスで実行されます。 スクリプトは、同じポリシーにアップロードする JSON ファイルの条件を評価します。
  • JSON で定義されている 1 つ以上の設定を識別し、それらの設定で検出された値の一覧を返します。 1 つのスクリプトを各ポリシーに割り当て、複数の設定の検出をサポートします。
  • 結果を 1 行で出力するには、圧縮する必要があります。 例: $hash = @{ ModelName = "Dell"; BiosVersion = "1.24"; TPMChipPresent = $true}
  • スクリプトの最後に次の行を含める必要があります。 return $hash | ConvertTo-Json -Compress

検出スクリプトのサンプル

PowerShell スクリプトのサンプルを次に示します。

$hash = @{ ModelName = "Dell"; BiosVersion = "1.24"; TPMChipPresent = $true}
return $hash | ConvertTo-Json -Compress

サンプル スクリプトの出力を次に示します。

PS C:\Users\apervaiz\Documents> .\sample.ps1
{"ModelName":  "Dell","BiosVersion":  1.24,"TPMChipPresent":  true}

Intune に探索スクリプトを追加する

  1. 管理センター Microsoft エンドポイント マネージャーサインインし、[エンドポイント セキュリティ デバイスコンプライアンススクリプト] [セキュリティとWindows 10 > > > > を追加する] に移動します

  2. [ 基本] で、名前を 指定します

  3. [設定 に、スクリプトを検出スクリプト に追加します。 スクリプトを慎重に確認します。 Intune では、構文やプログラムによるエラーについてスクリプトを検証しません。

  4. この 設定、 スクリプトに対して次の動作を構成します。

    • ログオンした資格情報を使用してこのスクリプトを実行します 。既定では、スクリプトはデバイスの System コンテキストで実行されます。 ログオンしているユーザーのコンテキストで実行するには、これを [はい] に設定します。 ユーザーがログインしていない場合、スクリプトは既定で System コンテキストに戻されます。
    • スクリプト署名チェックの適用 – 詳細については、「PowerShell about_Signing」を 参照してください。
    • 64 ビット PowerShell ホスト でスクリプトを実行する – 既定では、スクリプトは 32 ビット PowerShell ホストを使用して実行されます。 代わりに 64 ビット ホストを使用してスクリプトを強制的に実行するには、これを [はい] に設定します。
  5. スクリプトの作成プロセスを完了します。 このスクリプトは、管理者センターの [スクリプト] ウィンドウMicrosoft エンドポイント マネージャー表示され、コンプライアンス ポリシーを構成するときに選択できます。

次の手順