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