分享方式:


外部通知

適用於:Configuration Manager (目前的分支)

在複雜的 IT 環境中,您可能有自動化系統,例如 Azure Logic Apps。 客戶會使用這些系統來定義和控制自動化工作流程,以整合多個系統。 您可以透過產品的 SDK API,將Configuration Manager整合到個別的自動化系統。 但對於沒有軟體發展背景的 IT 專業人員而言,此程式可能很複雜且具挑戰性。

從 2107 版開始,您可以讓網站將通知傳送至外部系統或應用程式。 此功能會使用 Web 服務型方法來簡化程式。 您可以設定 訂用帳戶 來傳送這些通知。 這些通知會在發生特定且已定義的事件時回應。 例如, 狀態訊息篩選規則

注意事項

外部系統或應用程式會定義並提供此功能所呼叫的方法。

當您設定此功能時,月臺會開啟與外部系統的通道。 該系統接著可以啟動不存在於Configuration Manager中的複雜工作流程或動作。

從 2111 版開始,使用 Configuration Manager 主控台來建立或編輯外部通知的訂閱。 本文現在著重于該體驗。 如果您使用 2107 版,請參閱 Configuration Manager 2107 版

必要條件

  • 在階層的最上層月臺上建立訂用帳戶。 此月臺是獨立主要月臺,或是管理中心網站 (CAS) 。 您可以檢視和修改階層中任何月臺上的現有訂用帳戶。

  • 網站的服務連接點必須處於線上模式。 如需詳細資訊,請 參閱關於服務連接點

  • 目前,此功能僅支援 Azure Logic Apps 作為外部系統。 需要具有建立邏輯應用程式許可權的作用中 Azure 訂用帳戶。

    服務連接點需要與通知服務通訊,例如 Azure Logic Apps。 如需詳細資訊,請參閱 網際網路存取需求

  • 若要建立應用程式核准要求的事件種類,網站需要需要核准並部署至使用者集合的應用程式。 如需詳細資訊,請 參閱部署應用程式核准應用程式

權限

您可以設定 NotificationSubscription 物件的下列許可權:讀取、刪除、修改、建立。

  • 系統高版權管理員預設安全性角色具有這些許可權。
  • 唯讀分析師預設安全性角色具有取許可權。

在 2107 版中,使用者也需要 [所有 安全性] 範圍。 在 2111 版和更新版本中,您無法設定訂用帳戶物件的範圍。 如有需要,您可以在 Site 物件上使用範圍,使用者至少需要讀取權限。

自訂角色可能需要其他許可權。 使用下表來瞭解所需的專案:

動作 警報:
讀取
網站:
讀取
通知:
讀取
通知:
修改
通知:
建立
通知:
刪除
網站:
管理 SFR
檢視訂用帳戶 X X
修改訂用帳戶 X X X X
建立訂 用帳戶附注 1 X X X X
刪除訂閱 X X X
建立新的 SFR X X X 附注 2 附注 2 X
新增現有的 SFR X X X 附注 2 附注 2
新增應用程式核准 X X X 附注 2 附注 2

上表使用下列速記:

  • 通知通知訂用 帳戶物件
  • SFR:狀態篩選規則

附注 1:階層中的頂層月臺

在階層的最上層月臺上建立訂用帳戶。 此月臺是獨立主要月臺或 CAS。 您可以檢視和修改階層中任何月臺上的現有訂用帳戶。

附注 2:修改和建立事件動作的許可權

管理訂用帳戶上的事件時,[通知] 訂用帳戶物件上的[修改] 或 [建立] 許可權取決於您是否需要修改或建立事件。 例如,如果您有 [建立 ] 許可權,則可以將狀態篩選規則新增至訂用帳戶。 如果您沒有 Modify 許可權,則無法變更訂用帳戶事件。

建立 Azure 邏輯應用程式和工作流程

使用下列程式在 Azure Logic Apps 中建立範例應用程式,以接收來自Configuration Manager的通知。

注意事項

提供此程式作為範例,以協助您開始使用。 它不適合用于生產環境。

  1. 登入 Azure 入口網站

  2. 在 [Azure 搜尋] 方塊中,輸入 logic apps ,然後選取 [Logic Apps]

  3. 選取 [新增 ],然後選擇 [ 取用]。 此動作會建立新的邏輯應用程式。

  4. 在 [ 基本] 索引標籤上 ,視需要為您的環境指定專案詳細資料:訂用帳戶名稱、資源群組、邏輯應用程式名稱和區域。

  5. 然後 [檢閱 + 建立]。 在驗證頁面上,確認您提供的詳細資料,然後選取 [ 建立]

  6. 在 [ 後續步驟] 下,選 取 [移至資源]

  7. 在 [ 以一般觸發程式開始] 區段下,選取 [ 收到 HTTP 要求時]

  8. 在觸發程式編輯器底部,選取 [ 使用範例承載來產生架構]

  9. 貼上下列範例承載:

    {
        "EventID":0,
        "EventName":"",
        "SiteCode":"",
        "ServerName":"",
        "MessageID":0,
        "Source":"",
        "EventPayload":""
    }
    
  10. 取 [完成 ],然後選取 [ 儲存]

  11. 複製邏輯應用程式產生的 URL。 稍後當您在 Configuration Manager 中建立訂用帳戶時,將會使用此 URL。

    注意事項

    來自 Azure 的邏輯應用程式 URL 包含秘密金鑰。 儲存在Configuration Manager時,其受保護的方式與任何其他密碼或秘密金鑰相同。 如果您的環境使用 Proxy 伺服器或其他網路檢查裝置,其可能會記錄此 URL 並公開秘密金鑰。 控制這類系統的存取權,並準備好在Azure 入口網站中更新邏輯應用程式的秘密金鑰。 您也可以在Azure 入口網站中設定秘密金鑰的到期日。 如需詳細資訊,請 參閱保護邏輯應用程式

  12. 若要在設計工具中新增步驟,請選取 [+ 新增步驟]。 當收到來自Configuration Manager的通知時,請選擇適當的動作。 例如:

    視需要登入,並完成動作的必要資訊。 如需詳細資訊,請參閱 Azure Logic Apps 檔中的 建立邏輯應用程式 快速入門。

通知架構

這些通知會使用下列標準化架構:

{
    "properties": {
        "EventID": {
            "type": "integer"
        },
        "EventName": {
            "type": "string"
        },
        "EventPayload": {
            "type": "string"
        },
        "MessageID": {
            "type": "string"
        },
        "ServerName": {
            "type": "string"
        },
        "SiteCode": {
            "type": "string"
        },
        "Source": {
            "type": "string"
        }
    },
    "type": "object"
}

建立事件

目前支援兩種類型的事件:

  • 月臺會引發符合外部通知狀態篩選規則中所指定條件的狀態訊息。 您可以建立新規則或使用現有的規則。

  • 使用者在軟體中心要求應用程式核准。

注意事項

在階層中,事件的範圍取決於事件種類:

  • 應用程式核准事件只會在主要月臺發生。
  • 狀態篩選規則會套用至您使用 [建立 外部服務通知事件精靈] 建立規則的網站。
    • 如果您在連線到 CAS 時執行精靈來建立事件,則只會觸發來自 CAS 的相符事件。
    • 若要訂閱子主要月臺所引發的事件,請連線到主要月臺。 修改通知訂閱,為子主要月臺建立新的狀態篩選規則。

使用下列程式來建立事件:

  1. 在 Configuration Manager 主控台中,連線到階層的最上層月臺。 此月臺是獨立主要月臺或 CAS。

  2. 移至 [ 監視 ] 工作區,展開 [ 警示],然後選取 [ 外部服務通知] 節點。

  3. 在功能區中,選取 [建立訂用帳戶]

  4. 在 [新增訂用帳戶] 視窗中,指定訂用帳戶的[名稱],以在 Configuration Manager 主控台中識別它。 最大長度為 254 個字元。 選擇性地新增 描述

  5. 針對 [外部服務 URL] 值,貼上您先前複製的 Azure 邏輯應用程式 URL。

  6. 選取金色星號 ,將新事件新增至訂用帳戶。

    1. 在 [建立外部服務通知事件精靈] 的 [事件種類] 頁面上,選取下列其中一種事件種類:

      • 新的狀態篩選規則:建立要用於此事件的新狀態篩選規則。 指定狀態篩選規則的名稱,然後設定篩選準則。 如需狀態訊息規則準則的詳細資訊,請 參閱使用狀態系統

        重要事項

        請謹慎處理您所建立的狀態篩選規則類型。 針對外部通知,月臺每五分鐘可以處理 300 則狀態訊息。 如果您的規則允許超過此限制的訊息數目,將會在網站上造成待辦專案。 針對特定案例建立具有窄篩選準則的規則。 避免允許大量訊息的一般規則。

      • 現有的狀態篩選規則:針對已經存在的外部通知重複使用狀態篩選規則。 它不會顯示所有狀態篩選規則,只會顯示您使用此精靈建立的規則。

      • 使用者提交應用程式要求:傳送應用程式核准要求的外部通知。

管理事件

建立訂用帳戶之後,請使用 外部服務通知 節點來執行下列動作:

  • 屬性:編輯訂閱的名稱、描述或事件。 您無法編輯外部服務 URL。

  • 刪除:移除訂用帳戶。

注意事項

您可以檢視和修改階層中任何月臺上的現有訂用帳戶。

當您選取訂用帳戶時,詳細資料窗格會顯示已發生事件的相關資訊。

觸發事件

觸發事件的程式取決於訂用帳戶的類型:

監視工作流程

Configuration Manager主控台

從 2309 版開始,當 Azure Logic Apps 產生與特定事件或條件相關的通知或警示時,Configuration Manager現在可以擷取並顯示這些通知。 這項整合可讓您直接在Configuration Manager主控台內監視 Azure 邏輯代理程式更新,提供集中位置來追蹤重大事件、採取適當的動作,並維持高階的作業效率。 

若要使用此功能,需要有效的Microsoft Entra Web 應用程式。 請在 Administration\Overview\雲端服務\Azure 服務下部署管理服務管理的 Azure 服務。 如果服務已部署,系統管理員可以使用現有的 Web 應用程式,從 Azure 邏輯應用程式檢視執行 詳細 資料。

如需詳細資訊,請參閱設定 Azure 服務以與Configuration Manager搭配使用

使用下列程式來檢視訂用帳戶的執行詳細資料:

  1. 在Configuration Manager主控台中,按一下[監視]
  2. 在 [監視] 工作區中,按一下 [ 外部服務通知] ,然後選取所需的訂用帳戶。
  3. 按一下 [顯示詳細資料]
  4. 在對話方塊中,選取 [Azure 環境],Microsoft Entra下拉式清單中的租使用者名稱,然後使用您的Azure 管理員 帳戶登入。
  5. 選取 [訂用帳戶識別碼],然後輸入 [資源組] 和 [工作流程 名稱]。
  6. 按一下 [ 取得執行詳細資料 ] 按鈕以檢視 [ 執行詳細資料]

Configuration Manager主控台中 [執行詳細資料] 精靈的螢幕擷取畫面。

Azure 入口網站

在五分鐘內,事件會觸發邏輯應用程式工作流程。 檢查工作流程在Azure 入口網站中的狀態。 流覽至邏輯應用程式的 [ 執行歷程記錄 ] 頁面。

如需詳細資訊,請 參閱監視執行狀態、檢閱觸發程式歷程記錄,以及設定 Azure Logic Apps 的警示

疑難排解

使用月臺伺服器上的下列Configuration Manager記錄檔,協助針對此程式進行疑難排解:

  • ExternalNotificationsWorker.log:檢查佇列是否已處理,並將通知傳送至外部系統。
  • statmgr.log:檢查狀態篩選規則是否已處理,但未發生錯誤

已知問題

如果您建立狀態篩選規則,您會在Configuration Manager主控台的[狀態篩選規則] 網站清單中看到它。 如果您在規則屬性的 [ 動作 ] 索引標籤上進行變更,外部通知將無法運作。

復原 管理中心網站 (CAS) 之後,請刪除並重新建立訂用帳戶。

提示

移除 CAS之前,請在子主要月臺重新建立訂用帳戶。

Configuration Manager 2107 版

重要事項

本節和 PowerShell 腳本僅適用于 2107 版。 在 2111 版和更新版本中,使用 Configuration Manager 主控台來建立和管理事件。

2107 版的其他必要條件

若要在 Configuration Manager 2107 版中建立物件,您必須使用 PowerShell 腳本SetupExternalServiceNotifications.ps1。 使用下列腳本範例,正確取得要用於此功能的 PowerShell 腳本:

$FileName = ".\SetupExternalServiceNotifications.ps1"
Invoke-WebRequest https://aka.ms/cmextnotificationscript -OutFile $FileName
(Get-Content $FileName -Raw).Replace("`n","`r`n") | Set-Content $FileName -Force
(Get-Content $FileName -Raw).TrimEnd("`r`n") | Set-Content $FileName -Force

注意事項

SetupExternalServiceNotifications.ps1 由 Microsoft 數位簽署。 此腳本範例會下載檔案,並修正分行符號以保留數位簽章。

在 2107 版中建立事件

2107 版支援兩種類型的事件:

  • 月臺會引發符合狀態篩選規則中指定之條件的狀態訊息。

  • 使用者在軟體中心要求應用程式核准。

在 2107 版中建立狀態訊息事件

  1. 在月臺伺服器上,執行 SetupExternalServiceNotifications.ps1。 因為您在月臺伺服器上執行它,請輸入 y 以繼續。

  2. 選取選項 2 以建立新的狀態篩選規則。

  3. 指定新狀態篩選規則的名稱。

  4. 選取規則的訊息比對準則,並指定要比對的值。 指定 0 不使用準則。

    以下是可用的準則:

    • 來源:用戶端、SMS 提供者、月臺伺服器
    • 月臺碼
    • System
    • 元件
    • 訊息類型:里程碑、詳細資料、稽核
    • 嚴重性:資訊、警告、錯誤
    • 郵件識別碼
    • 屬性
    • 屬性值

    如需狀態訊息規則準則的詳細資訊,請 參閱使用狀態系統

    重要事項

    請謹慎處理您所建立的狀態篩選規則類型。 針對外部通知,月臺每五分鐘可以處理 300 則狀態訊息。 如果您的規則允許超過此限制的訊息數目,將會在網站上造成待辦專案。 針對特定案例建立具有窄篩選準則的規則。 避免允許大量訊息的一般規則。

  5. 重新執行 PowerShell 腳本。 選取選項 3 以建立新的訂用帳戶。

  6. 指定訂用帳戶的名稱和描述。 然後指定您先前從Azure 入口網站複製的邏輯應用程式 URL。

  7. 選取新的狀態篩選規則。

  8. 0 取即可結束腳本。

在 2107 版中建立應用程式核准事件

注意事項

此事件種類需要需要核准並部署至使用者集合的應用程式。 如需詳細資訊,請 參閱部署應用程式核准應用程式

  1. 在月臺伺服器上,執行 SetupExternalServiceNotifications.ps1。 因為您在月臺伺服器上執行它,請輸入 y 以繼續。

  2. 選取選項 3 以建立新的訂用帳戶。

  3. 指定訂用帳戶的名稱和描述。 然後指定您先前從Azure 入口網站複製的邏輯應用程式 URL。

  4. 選取應用程式要求的適當事件。

  5. 0 取即可結束腳本。

移除 2107 版中的訂用帳戶

如果您需要刪除訂用帳戶,請使用下列程式:

  1. 執行 SetupExternalServiceNotifications.ps1 腳本,並選擇 1 列出可用的訂用帳戶。 請注意訂用帳戶識別碼,這是整數值。

  2. 使用管理服務 的 NotificationSubscription API。 對 URI https://<SMSProviderFQDN>/AdminService/v1.0/NotificationSubscription/<Subscription_ID> 進行 DELETE 呼叫。

    如需詳細資訊,請參閱如何在 Configuration Manager 中使用系統管理服務

移除訂用帳戶之後,月臺不會將通知傳送至外部系統。

2107 版中的腳本使用方式

當您 執行SetupExternalServiceNotifications.ps1時,它會偵測它是否在月臺伺服器上執行:

  • Y:在目前的伺服器上繼續
  • N:指定要使用之月臺伺服器的 FQDN

如果腳本未偵測到月臺伺服器,則會提示您輸入 FQDN。

接著可以使用下列動作:

  • 0:略過/繼續
  • 1:列出可用的訂用帳戶
  • 2:建立狀態篩選規則以公開狀態訊息
  • 3:建立訂用帳戶。 此選項僅適用于最上層網站。

注意事項

只有執行 2107 版或更新版本的網站才支援此腳本。

後續步驟

使用狀態系統

設定警示