補救措施

重要事項

主動式補救已重新命名為補救,且可在 Microsoft Intune 系統管理中心的裝置管理裝置指令>碼和補救中使用>。 本文件中對主動式補救的所有引用都將替換為補救。 然而,「主動補救」一詞可能仍會出現在某些部落格和其他文章中。

補救可協助您在使用者注意到問題之前修正常見的支援問題。

在本文中,您將了解如何:

  • 檢閱補救的必要條件
  • 部署內建指令碼套件
  • 部署自訂指令碼套件
  • 隨選執行補救指令碼 (預覽)
  • 用戶端原則擷取和用戶端報告
  • 監視指令碼套件
  • 匯出指令碼輸出
  • 監視裝置的補救狀態

關於補救

補救是指令碼套件,可以在使用者發現問題之前,偵測並修正使用者裝置上的常見支援問題。 補救有助於減少支援電話和票證。 您可以建立自己的指令碼套件,或部署內建的指令碼套件。

每個指令碼套件都包含偵測指令碼、補救指令碼和中繼資料。 當您使用 Intune 時,可以部署這些指令碼套件,並查看其有效性報告。

必要條件

無論是透過 Intune 或 設定管理員 註冊裝置,補救指令碼都有下列需求:

  • 裝置必須加入 Microsoft Entra 或混合加入 Microsoft Entra,並符合下列其中一個條件:

    • 裝置是行動裝置裝置管理 (MDM,) 在 Intune 中註冊,並執行 Windows 企業版、專業版或教育版。

      OR

    • 裝置是 共同管理, 執行 Windows。

授權

補救會要求裝置使用者擁有下列其中一個授權:

  • Windows 企業版 E3 或 E5 (包含在 Microsoft 365 F3、E3 或 E5) 中

  • Windows 教育版 A3 或 A5 (包含在 Microsoft 365 A3 或 A5) 中

  • Windows 虛擬桌面存取 (每個使用者的 VDA)

權限

指令碼需求

  • 您最多可以有 200 個指令碼套件。
  • 指令碼套件可以只包含偵測指令碼,也可以同時包含偵測指令碼和補救指令碼。
    • 只有在偵測指令碼使用結束碼 exit 1時,補救指令碼才會執行,表示已偵測到問題。
  • 確定指令碼是以 UTF-8 編碼。
    • 在建立指令碼套件的 [設定 ] 頁面中,如果已啟用 [ 強制執行指令碼簽章檢查 ] 選項,請確定指令碼是以 UTF-8 編碼,而不是以 UTF-8 BOM (位元組順序標記) 。
  • 允許的輸出大小上限為 2,048 個字元。
  • 在建立指令碼套件的 [ 設定] 頁面中,如果已啟用 [強制執行指令碼簽章檢查 ] 選項,則指令碼會使用裝置的 PowerShell 執行原則執行。 Windows 用戶端電腦的預設執行原則為 [ 限制]。 Windows Server 裝置的預設執行是 RemoteSigned。 如需詳細資訊,請參閱 PowerShell 執行原則。
    • 修復內建的指令碼會經過簽署,且憑證會新增至裝置的 受信任的發行者 憑證存放區。
    • 使用已簽署的非 Microsoft 指令碼時,請確定憑證位於 受信任的發行者 憑證存放區中。 如同任何憑證,裝置必須信任憑證授權單位。
    • 沒有 [強制執行] 指令碼簽章檢查 的指令碼會使用 [略過 ] 執行原則。
  • 請勿將重新開機命令放在偵測或補救指令碼中。
  • 請勿在指令碼中包含任何類型的敏感性資訊 (例如密碼)
  • 請勿在指令碼中包含個人資料
  • 不使用指令碼從裝置收集個人資料
  • 一律遵循隱私權最佳作法

部署內建指令碼套件

您可以使用內建的指令碼套件來開始使用補救。 Microsoft Intune 管理擴充功能服務會從 Intune 取得指令碼並執行它們。 只需指派以下內建指令碼套件:

  • 更新過時的群組原則 – 過時的群組原則可能會導致與連線和內部資源存取相關的支援人員票證。
  • 重新啟動 Office 隨選即用服務 - 停止隨選即用服務時,Office 應用程式無法啟動,導致出現技術服務中心呼叫。

指派指令碼套件:

  1. 在 Microsoft Intune 系統管理中心,移至 [裝置>管理裝置>][指令碼和補救] 節點,選取其中一個內建指令碼套件。
  2. 選取 [內容],然後在 [ 作業 ] 標題旁邊選取 [編輯]。
  3. 選擇您要 指派的 群組,以及指令碼套件的任何 已排除群組 。
  4. 若要變更 範圍標籤,請選取 [編輯] ,然後 選取 [範圍標籤]。
  5. 若要變更排程,請選取省略號,然後選擇 [編輯 ] 以指定您的設定。 選取 [套用] 以儲存變更。
  6. 完成後,選取 [檢閱 + 儲存]。

作業的排程選項

設定指令碼套件的指派時,您可以使用下列 其中一個排程 選項來定義補救執行的頻率:

  • 一次 – 僅在指定的日期和時間執行一次補救。

  • 每小時 — 以每小時為單位執行補救,並具有可設定的間隔,例如每 n 小時一次。 該值必須少於 24 小時。

  • 每天 — 每天在指定時間執行補救。

執行行為:

  • 根據預設,補救會根據裝置的當地時間執行。 若要依國際標準時間排程,請選取 [使用 UTC]。
  • 如果錯過排定的執行,補救會在裝置上線時盡快執行。
  • 對於非緊急或資源密集的指令碼,請使用較不頻繁的排程 (例如每七天一次) ,以降低對裝置效能的影響。

效能建議

若要降低補救對裝置效能的影響:

  • 只指派每個裝置需要的指令碼套件。 每個指令碼都會在 PowerShell 中執行,並耗用 CPU 和電池資源。
  • 避免使用資源密集型指令碼和頻繁排程。 對於非緊急或資源密集型指令碼,請使用較不頻繁的排程,例如每 7 天一次。
  • 設定偵測指令碼以傳回穩定且可採取動作的結果。 避免每次執行而變更的值,例如時間戳記。

建立和部署自訂指令碼套件

Microsoft Intune 管理擴充功能服務會從 Intune 取得指令碼並執行它們。 指令碼每 24 小時重新執行一次。 您可以複製提供的指令碼並部署它們,也可以建立自己的指令碼套件。 若要部署指令碼套件,請遵循下一章節中的指示。

複製提供的偵測與補救指令碼

  1. 從 PowerShell 指令碼 文章複製指令碼。
    • 名稱開頭 Detect 為偵測指令碼的指令檔。 補救指令碼以 開頭為 Remediate。
    • 如需指令碼的描述,請參閱 指令碼描述。
  2. 使用提供的名稱儲存每個指令碼。 名稱也在每個腳本頂部的註釋中。 確定儲存的指令碼是以 UTF-8 編碼。
    • 您可以使用不同的指令碼名稱,但它與 指令碼描述中所列的名稱不相符。

部署指令碼套件

補救指令碼必須以 UTF-8 編碼。 上傳這些腳本而不是直接在瀏覽器中編輯它們有助於確保腳本編碼正確,以便您的裝置可以執行它們。

  1. 在 Microsoft Intune 系統管理中心,移至 [裝置>] [管理裝置>] 指令碼和補救。

  2. 選擇 Create script package (建立指令碼套件 ) 按鈕以建立指令碼套件。

    螢幕擷取畫面,顯示 Microsoft Intune [補救] 頁面中的 [建立指令碼套件] 按鈕。

  3. 在 [基本] 步驟中,為指令碼套件提供 [名稱 ],並可選用 [ 描述]。 您可以編輯 [發行者] 欄位,但預設為您的名稱。 無法編輯版本。

  4. 在 [ 設定] 步驟中,執行下列步驟,上傳 偵測指令碼檔案 和 補救指令碼檔案 :

    1. 選取資料夾圖示。
    2. 瀏覽至 .ps1 檔案。
    3. 選擇檔案,然後選取 [ 開啟 ] 上傳檔案。

    如果偵測到目標問題,偵測指令碼必須使用結束代碼 exit 1 。 如果有任何其他結束代碼,補救指令碼將不會執行。 包含空白輸出,因為這會導致找不到 問題 狀態。 如需結束程式碼使用範例,請檢閱 範例偵測指令碼 。

    您需要對應的偵測和補救指令碼位於相同的套件中。 例如, Detect_Expired_User_Certificates.ps1 偵測指令碼會與補救指令碼對 Remediate_Expired_User_Certificates.ps1 應。

    螢幕擷取畫面,顯示 Microsoft Intune 中 [補救] 頁面中的自訂指令碼設定。

  5. 使用下列建議的設定完成 [ 設定] 頁面上的選項:

    • 使用已登入的認證執行此指令碼: 此設定取決於指令碼。 如需詳細資訊,請參閱 指令碼描述。
    • 強制執行指令碼簽章檢查:否
    • 在 64 位元 PowerShell 中執行指令碼: 否

    如需強制執行指令碼簽章檢查的詳細資訊,請參閱 指令碼需求。

  6. 選取 [下一步 ],然後指派您需要的任何 範圍標記 。

  7. 在 [指派 ] 步驟中,選取您要部署指令碼套件的裝置群組。 當您準備好將套件部署到使用者或裝置時,您也可以使用篩選。 如需詳細資訊,請參閱在 Microsoft Intune 中建立篩選。

    注意事項

    請勿在包含和排除指派中混用使用者和裝置群組。

  8. 完成部署的 檢閱 + 建立 步驟。

隨選執行補救指令碼 (預覽)

您可以使用 [執行補救裝置] 動作,對單一 Windows 裝置隨選執行補救指令碼。

隨選執行補救指令碼的必要條件

  • 在補救指令碼可以隨選使用之前,必須先設定補救。

  • 內建或自訂指令碼套件必須可供使用者使用,以視需要執行補救。 不過,不需要指派給使用者或裝置。 您可以使用 範圍標籤 來限制使用者可以看到的補救指令碼套件。

  • 使用者必須是Intune系統管理員,或具有具有 [遠端工作) ] 下可用的 [執行補救] 權限 (角色。 在公開預覽期間,使用者也必須有 [組織:讀取]。

  • 裝置處於線上狀態,並且能夠在遠端動作期間與 Intune 和 Windows 推播通知服務通訊, (WNS) 。

  • 必須在裝置上安裝 Intune 管理擴充功能。 當 Win32 應用程式、PowerShell 指令碼或補救指派給使用者或裝置時,系統會自動完成安裝。

如何隨選執行補救指令碼

  1. 登入 Microsoft Intune 系統管理中心。
  2. 瀏覽至 [依>平台>裝置]Windows> 選取支援的裝置。
  3. 在裝置的 [概觀 ] 頁面上,選取 ...>執行補救 (預覽) 。
  4. 在 [執行補救 (預覽]) 窗格中,從清單中選取您要執行的 指令碼套件 。 選取 [ 檢視詳細資料 ] 以查看指令碼套件的屬性,例如偵測與補救指令碼內容、描述,以及設定的設定。
  5. 若要隨選執行補救,請選取 [執行補救]。

注意事項

  • 一次只能對同一個裝置發出一個 執行補救 裝置動作。 如果您在短時間內對裝置執行多個 [ 執行補救] 裝置動作,它們可能會彼此覆寫。

  • 如果裝置離線,或在傳送裝置動作時無法順利與 Intune 或 Windows 推播通知服務 (WNS) 通訊,裝置將不會收到執行補救裝置動作。

用戶端原則擷取和用戶端報告

用戶端會在下列時機擷取補救指令碼的原則:

  • 重新啟動裝置或 Intune 管理延伸模組服務之後

  • 使用者登入用戶端之後

  • 每 8 小時一次

    • 8 小時指令碼擷取排程是根據 Intune 管理擴充功能服務啟動的時間而定。 使用者登入不會變更排程。

用戶端會在下列時機報告補救資訊:

  • 當指令碼設定為執行一次時,會在指令碼執行後報告結果。

  • 週期性指令碼遵循七天報告週期:

    • 在前六天內,用戶端只會在發生變更時回報。 指令碼第一次執行會被視為變更。

    • 即使沒有變更,客戶也會每七天傳送一份報告。

監視您的指令碼套件

  1. 在 Microsoft Intune 系統管理中心,移至 裝置>管理裝置>指令碼和補救,您可以看到偵測和補救狀態的概觀。

    螢幕擷取畫面,顯示 Microsoft Intune 中的補救報告概覽頁面。

  2. 選取 [裝置狀態 ] 以取得部署中每個裝置的狀態詳細資料。

    螢幕擷取畫面,顯示 Microsoft Intune 中的補救裝置狀態頁面。

匯出指令碼輸出

為了協助您輕鬆分析傳回的輸出,請使用 [匯出 ] 選項將輸出儲存為 .csv 檔案。 將輸出匯出至 .csv 檔案,可讓您在有問題的裝置上執行補救時分析傳回的輸出。 匯出也可讓您與其他人共用結果,以進行更多分析。

監視裝置的補救狀態

您可以檢視指派給裝置或隨選執行的補救狀態。

  1. 登入 Microsoft Intune 系統管理中心。
  2. 瀏覽至 [依>平台>裝置]Windows> 選取支援的裝置。
  3. 選取 [監視] 區段中的補救。

已知問題

當您套用「作者」或「狀態」等篩選器,或使用 [指令碼和補救] 的 [補救措施] 頁面上的 [匯出] 選項時,只會包括目前載入的指令碼套件。 若要包含所有指令碼,請捲動至載入完整清單。

注意事項

裝置狀態:從 Intune 系統管理中心的平台指令碼匯出現在會使用 Intune 匯出 API,且 CSV 欄名稱會與 API 結構描述一致。

後續步驟