重要
プロアクティブ修復 の名前は [修復] に変更され、Microsoft Intune 管理センターの [デバイス>管理デバイス>Script と修復] で利用できます。 このドキュメントのプロアクティブ修復に関するすべての参照は、 修復に置き換えられます。 ただし、プロアクティブ修復という用語は、一部のブログやその他の記事にも引き続き表示される場合があります。
修復は、エンド ユーザーが問題に気付く前に、一般的なサポートの問題を解決するのに役立ちます。
この記事では、次の方法について説明します。
- 修復の前提条件を確認する
- 組み込みのスクリプト パッケージの展開
- カスタム スクリプト パッケージの展開
- 修復スクリプトをオンデマンドで実行する (プレビュー)
- クライアント ポリシーの取得とクライアント レポート
- スクリプト パッケージの監視
- スクリプト出力のエクスポート
- デバイスの修復状態を監視する
修復について
修復は、問題が発生したことを認識する前に、ユーザーのデバイスで一般的なサポートの問題を検出して修正できるスクリプト パッケージです。 修復は、サポート呼び出しとチケットを減らすのに役立ちます。 独自のスクリプト パッケージを作成することも、組み込みのスクリプト パッケージをデプロイすることもできます。
各スクリプト パッケージは、検出スクリプト、修復スクリプト、およびメタデータで構成されています。 Intune を使用すると、これらのスクリプト パッケージを展開し、その有効性に関するレポートを表示できます。
前提条件
Intune またはConfiguration Managerを使用してデバイスを登録する場合でも、修復スクリプトには次の要件があります。
デバイスを参加Microsoft Entraするか、ハイブリッド参加Microsoft Entraし、次のいずれかの条件を満たしている必要があります。
デバイスは Intune に登録され、Windows Enterprise、Professional、または Education エディションを実行するモバイル デバイス管理 (MDM) です。
または
デバイスは、Windows を実行している 共同管理です 。
ライセンス
修復には、デバイスのユーザーが次のいずれかのライセンスを持っている必要があります。
Windows Enterprise E3 または E5 (Microsoft 365 F3、E3、または E5 に含まれる)
Windows Education A3 または A5 (Microsoft 365 A3 または A5 に含まれる)
ユーザーあたりの Windows Virtual Desktop Access (VDA)
アクセス許可
修復の場合、ユーザーには [ デバイス構成 ] カテゴリのロールに適したアクセス許可が必要です。 詳細については、「 Microsoft Intune のロールベースのアクセス制御」を参照してください。
Intune サービス管理者は、初めて修復を使用する前にライセンス要件を確認する必要があります。
スクリプトの要件
- 最大 200 のスクリプト パッケージを使用できます。
- スクリプト パッケージには、検出スクリプトのみか、検出スクリプトと修復スクリプトの両方を含めることができます。
- 修復スクリプトは、検出スクリプトが終了コード
exit 1
を使用している場合にのみ実行されます。つまり、問題が検出されました。
- 修復スクリプトは、検出スクリプトが終了コード
- スクリプトが UTF-8 でエンコードされていることを確認します。
- スクリプト パッケージの作成の [設定] ページで、[スクリプト署名のチェックを適用する] オプションが有効になっている場合は、スクリプトが UTF-8 BOM (バイト オーダー マーク) ではなく UTF-8 でエンコードされていることを確認します。
- 許可される最大出力サイズの制限は 2,048 文字です。
- スクリプト パッケージの作成の [設定] ページで、[スクリプト署名のチェックの適用] オプションが有効になっている場合、スクリプトはデバイスの PowerShell 実行ポリシーを使用して実行されます。 クライアント コンピューターの既定の Windows ポリシーは [制限付き] です。 Windows サーバー デバイスの既定の実行単位は RemoteSigned です。 詳細については、「PowerShell 実行ポリシー」を参照してください。
- 修復に組み込まれているスクリプトは署名され、証明書はデバイスの 信頼された発行元 証明書ストアに追加されます。
- 署名された Microsoft 以外のスクリプトを使用する場合は、証明書が 信頼された発行元 の証明書ストアにあることを確認します。 証明書と同様に、デバイスは証明機関を信頼する必要があります。
- [スクリプトの署名チェックを強制する] が設定されていないスクリプトでは、バイパス実行ポリシーを使用します。
- 再起動コマンドを検出スクリプトまたは修復スクリプトに配置しないでください。
- スクリプト (パスワードなど) に機密情報の種類を含めないでください
- スクリプトに個人データを含めない
- スクリプトを使用してデバイスから個人データを収集しない
- 常にプライバシーに関するベスト プラクティスに従う
組み込みのスクリプト パッケージを展開する
修復の開始に使用できる組み込みのスクリプト パッケージがあります。 Microsoft Intune 管理拡張機能 サービスによって、Intune からスクリプトが取得され、実行されます。 次の組み込みのスクリプト パッケージを割り当てる必要があります。
- 古くなったグループ ポリシーの更新 – 古くなったグループ ポリシーは、接続と内部リソース アクセスに関連するヘルプデスク チケットにつながる可能性があります。
- Office クイック実行サービスを再開する – クイック実行サービスが停止すると、Office アプリの起動に失敗し、ヘルプデスクの呼び出しにつながります。
スクリプト パッケージを割り当てるには、次の操作を行います。
- Intune 管理センターで、[デバイス>管理デバイス>スクリプトと修復] ノードに移動し、組み込みのスクリプト パッケージのいずれかを選択します。
- [プロパティ] を選択し、[割り当て] 見出しの横にある [編集] を選択します。
- スクリプト パッケージに [割当先] と [除外されたグループ] を選択します。
- スコープ タグを変更するには、[編集] を選択し、[スコープ タグの選択] を選択します。
- スケジュールを変更するには、省略記号を選択し、[ 編集 ] を選択して設定を指定します。 [適用] を選択して変更を保存します。
- 完了したら、[確認と保存] を選択します。
割り当てのスケジュール オプション
スクリプト パッケージの割り当てを構成する場合は、次のいずれかの [スケジュール] オプションを使用して、修復を実行する頻度を定義できます。
[1 回 ] - 指定した日時に 1 回だけ修復を実行します。
時間単位 - n 時間ごと など、構成可能な間隔で 1 時間ごとに修復を実行します。 値は 24 時間未満にする必要があります。
日単位 - 指定した時刻に毎日修復を実行します。
実行動作:
- 既定では、修復はデバイスのローカル時刻に基づいて実行されます。 協定世界時でスケジュールするには、[UTC を 使用] を選択します。
- スケジュールされた実行が見逃された場合、修復はデバイスがオンラインのときに、できるだけ早く実行されます。
- 非操作またはリソース負荷の高いスクリプトの場合は、頻度の低いスケジュール (7 日ごとなど) を使用して、デバイスのパフォーマンスへの影響を減らします。
カスタムのスクリプト パッケージを作成および展開する
Microsoft Intune 管理拡張機能 サービスによって、Intune からスクリプトが取得され、実行されます。 スクリプトは 24 時間ごとに再実行されます。 提供されたスクリプトをコピーして展開するか、独自のスクリプト パッケージを作成します。 スクリプト パッケージをデプロイするには、次のセクションの手順に従います。
指定された検出スクリプトと修復スクリプトをコピーする
-
PowerShell スクリプトの記事からスクリプトをコピーします。
- 名前が
Detect
で始まるスクリプト ファイルは、検出スクリプトです。 修復スクリプトはRemediate
から始まります。 - スクリプトの説明については、「スクリプトの説明」を参照してください。
- 名前が
- 指定された名前を使用して各スクリプトを保存します。 この名前は、各スクリプトの先頭にあるコメントにも記載されています。 UTF-8 でエンコードされたスクリプトが保存されていることを確認します。
- 別のスクリプト名を使用することもできますが、「スクリプトの説明」に記載されている名前とは一致しなくなります。
スクリプト パッケージの展開
修復スクリプトは UTF-8 でエンコードする必要があります。 これらのスクリプトをブラウザーで直接編集するのではなく、アップロードすることで、スクリプトのエンコードを適切に行い、デバイスを実行できるようにします。
Intune 管理センターで、[デバイス>管理デバイス>スクリプトと修復] に移動します。
[Create script package]\(スクリプト パッケージの作成\) ボタンを選択して、スクリプト パッケージを作成します。
[基本] ステップで、スクリプト パッケージの [名前] と、必要に応じて [説明] を指定します。 [発行元] フィールドは編集できますが、規定値はお使いの名前です。 [バージョン] を編集することはできません。
[設定] の手順で、以下の手順で [スクリプト ファイルの検出] と [スクリプト ファイルの修復] の両方をアップロードします。
- フォルダー アイコンを選択します。
-
.ps1
ファイルを閲覧します。 - ファイルを選択し、[開く] を選択してアップロードします。
ターゲットの問題が検出された場合は、検出スクリプトで終了コード
exit 1
を使用する必要があります。 他の終了コードがある場合、修復スクリプトは実行されません。 空の出力を含めると、 問題が見つからない 状態になるためです。 終了コードの使用例については、 サンプル検出スクリプト を確認してください。対応する検出スクリプトと修復スクリプトが同じパッケージに含まれている必要があります。 たとえば、検出スクリプト
Detect_Expired_User_Certificates.ps1
は修復スクリプトRemediate_Expired_User_Certificates.ps1
に対応しています。次の推奨構成を使用して、[設定] ページのオプションを完了します。
- ログオンした資格情報を使用してこのスクリプトを実行します。この設定は、スクリプトに依存します。 詳細については、「スクリプトの説明」を参照してください。
- [スクリプト署名チェックを強制]: いいえ
- [64 ビットの PowerShell でスクリプトを実行する]: いいえ
スクリプト署名チェックの強制の詳細については、「スクリプト要件」を参照してください。
[ 次へ ] を選択し、必要な スコープ タグ を割り当てます。
[割り当て] ステップでは、スクリプト パッケージを展開するデバイス グループを選択します。 パッケージをユーザーまたはデバイスに展開する準備ができたら、フィルターを使用することもできます。 詳細については、「Microsoft Intune でフィルターを作成する」を参照してください。
注:
ユーザー グループとデバイス グループを含める割り当てと除外の割り当てを混在させないでください。
展開の [確認および作成] ステップを完了します。
修復スクリプトをオンデマンドで実行する (プレビュー)
[修復デバイスの 実行 ] アクションを使用すると、1 つの Windows デバイスに対して修復スクリプトをオンデマンドで実行できます。
修復スクリプトをオンデマンドで実行するための前提条件
修復スクリプトをオンデマンドで使用するには、事前に修復を構成しておく必要があります。
ユーザーがオンデマンドで修復を実行するには、組み込みのスクリプト パッケージまたはカスタム スクリプト パッケージを使用できる必要があります。 ただし、ユーザーまたはデバイスに割り当てる必要はありません。 スコープ タグを使用して、ユーザーが表示できる修復スクリプト パッケージを制限できます。
ユーザーは Intune 管理者であるか、 または [修復の実行 ] アクセス許可を持つロールを持っている必要があります ( [リモート タスク] で使用できます)。 パブリック プレビュー中に、ユーザーには Organization: Read も必要です。
デバイスはオンラインであり、リモート 操作中に Intune と Windows プッシュ通知サービス (WNS) と通信できます。
Intune 管理拡張機能は、デバイスにインストールする必要があります。 インストールは、Win32 アプリ、PowerShell スクリプト、または修復がユーザーまたはデバイスに割り当てられると自動的に実行されます。
修復スクリプトをオンデマンドで実行する方法
- Intune 管理センターにサインインします。
- [デバイス>By platform>Windows] に移動し>サポートされているデバイスを選択します。
- デバイスの [概要] ページで、[...>] を選択します。修復 (プレビュー) を実行します。
- [ 修復の実行 (プレビュー)] ウィンドウで、一覧から実行する スクリプト パッケージ を選択します。 [ 詳細の表示] を選択すると、検出と修復のスクリプトの内容、説明、構成された設定などのスクリプト パッケージのプロパティが表示されます。
- 修復をオンデマンドで実行するには、[修復の 実行] を選択します。
注:
同じデバイスに対して一度に発行できる修復デバイスの 実行 アクションは 1 つだけです。 1 つのデバイスに対して短時間で複数の修復デバイスの 実行 アクションを実行すると、相互に上書きされる可能性があります。
デバイスがオフラインの場合、またはデバイスアクションが送信されたときに Intune または Windows プッシュ通知サービス (WNS) と正常に通信できない場合、デバイスは修復デバイスの 実行 アクションを受け取らない可能性があります。
クライアント ポリシーの取得とクライアント レポート
クライアントは、次の時刻に修復スクリプトのポリシーを取得します。
デバイスまたは Intune 管理拡張機能サービスの再起動後
ユーザーがクライアントにサインインした後
8 時間に 1 回
- 8 時間のスクリプト取得スケジュールは、Intune 管理拡張機能サービスがいつ開始されたかに基づいて固定されます。 ユーザー サインインによってスケジュールが変更されることはありません。
クライアントは、次の時刻に修復情報を報告します。
スクリプトを 1 回実行するように設定すると、スクリプトの実行後に結果が報告されます。
定期的なスクリプトは、7 日間のレポート サイクルに従います。
最初の 6 日以内に、クライアントは変更が発生した場合にのみ報告します。 スクリプトを初めて実行する場合は、変更と見なされます。
変更がなくても、クライアントは 7 日ごとにレポートを送信します。
スクリプト パッケージを監視する
Intune 管理センターで、[デバイス>管理デバイス>スクリプトと修復] に移動して、検出と修復の状態の概要を確認できます。
[デバイスの状態] を選択して、展開に含まれる各デバイスの状態に関する詳細を取得します。
スクリプト出力のエクスポート
返された出力を簡単に分析するために、[エクスポート] オプションを使用して、出力を .csv
ファイルとして保存します。
.csv
ファイルに出力をエクスポートすると、問題のあるデバイスで修復が実行されたときに返される出力を分析できます。 エクスポートすると、より多くの分析のために結果を他のユーザーと共有することもできます。
デバイスの修復状態を監視する
デバイスに割り当てられている、またはオンデマンドで実行されている修復の状態を表示できます。
- Intune 管理センターにサインインします。
- [デバイス>By platform>Windows] に移動し>サポートされているデバイスを選択します。
- [監視] セクションで [修復] を選択します。
既知の問題
[作成者] や [状態] などのフィルターを適用したり、[スクリプトと修復] の [修復] ページの [エクスポート] オプションを使用したりすると、現在読み込まれているスクリプト パッケージのみが含まれます。 すべてのスクリプトを含める場合は、完全なリストが読み込まれるまでスクロールします。
注:
プラットフォーム スクリプトの Intune 管理センターからのデバイス状態のエクスポートで Intune Export API が使用され、CSV 列名が API スキーマと一致するようになりました。
次の手順
修復用の PowerShell スクリプトを 取得します。
PowerShell スクリプト セキュリティに関する詳細はこちらを参照してください。