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