分享方式:


如何同步生命週期工作流程的屬性

工作流程包含特定工作,可根據指定的執行條件,自動對使用者執行。 可根據 Microsoft Entra ID 中的 employeeHireDate 和 employeeLeaveDateTime 使用者屬性,支援自動工作流程排程。

若要充分利用生命週期工作流程,應將使用者佈建自動化,並同步處理排程相關屬性。

排程相關屬性

下表顯示排程 (觸發) 相關屬性和支援同步處理的方法。

屬性 類型 HR 輸入佈建可支援 支援 Microsoft Entra Connect 雲端同步處理 支援 Microsoft Entra Connect 雲端同步
employeeHireDate DateTimeOffset Yes .是 Yes
employeeLeaveDateTime DateTimeOffset Yes .是

注意

手動為僅限雲端的使用者設定 employeeLeaveDateTime 需要特殊權限。 如需詳細資訊,請參閱:為使用者設定 employeeLeaveDateTime 屬性

本文件說明如何針對所需屬性,從內部部署 Microsoft Entra Connect 雲端同步和 Microsoft Entra Connect 設定同步處理功能。

注意

Active Directory 中沒有對應的 EmployeeHireDate 或 EmployeeLeaveDateTime 屬性。 如果您要從內部部署 AD 同步,請務必在 AD 中識別可使用的屬性。 此屬性必須為字串。

了解 EmployeeHireDate 和 EmployeeLeaveDateTime 的格式

EmployeeHireDate 和 EmployeeLeaveDateTime 包含必須使用特定格式的日期和時間。 這表示您可能需要使用運算式,將來源屬性的值轉換為 EmployeeHireDate 或 EmployeeLeaveDateTime 可接受的格式。 下列表格概述預期的格式,並提供如何轉換值的範例運算式。

案例 運算式/格式 Target 相關資訊
Workday 到 Active Directory 使用者佈建 FormatDateTime([StatusHireDate], ,"yyyy-MM-ddzzz", "yyyyMMddHHmmss.fZ") 內部部署 AD 字串屬性 Workday 的屬性對應
SuccessFactors 到 Active Directory 使用者佈建 FormatDateTime([endDate], ,"M/d/yyyy hh:mm:ss tt","yyyyMMddHHmmss.fZ") 內部部署 AD 字串屬性 SAP 成功因素的屬性對應
自訂匯入至 Active Directory 必須為「yyyyMMddHHmmss.fZ」格式 內部部署 AD 字串屬性 記錄任何其他系統的屬性對應 (部分機器翻譯)
Microsoft Graph 使用者 API 必須為「YYYY-MM-DDThh:mm:ssZ」格式 EmployeeHireDate 和 EmployeeLeaveDateTime
Workday 至 Microsoft Entra 使用者佈建 可以使用直接對應。 不需要運算式,但可用來調整 EmployeeHireDate 和 EmployeeLeaveDateTime 的時間部分 EmployeeHireDate 和 EmployeeLeaveDateTime
SuccessFactors 至 Microsoft Entra 使用者佈建 可以使用直接對應。 不需要運算式,但可用來調整 EmployeeHireDate 和 EmployeeLeaveDateTime 的時間部分 EmployeeHireDate 和 EmployeeLeaveDateTime

如需運算式的詳細資訊,請參閱在 Microsoft Entra ID 中撰寫屬性對應的運算式 (部分機器翻譯)。

表格運算式範例在 SAP 中使用 endDate,在 Workday 中則使用 StatusHireDate。 不過,您可以選擇使用不同的屬性。

例如,您可以在 Workday 中使用 StatusContinuousFirstDayOfWork,而非 StatusHireDate。 在此執行個體中,您的運算式為:

FormatDateTime([StatusContinuousFirstDayOfWork], , "yyyy-MM-ddzzz", "yyyyMMddHHmmss.fZ")

下表列出推薦的屬性及其案例建議。

HR 屬性 HR 系統 案例 Microsoft Entra 屬性
StatusHireDate 工作日 加入者 EmployeeHireDate
StatusContinuousFirstDayOfWork 工作日 加入者 EmployeeHireDate
StatusDateEnteredWorkforce 工作日 加入者 EmployeeHireDate
StatusOriginalHireDate 工作日 加入者 EmployeeHireDate
StatusEndEmploymentDate 工作日 離開者 EmployeeLeaveDateTime
StatusResignationDate 工作日 離開者 EmployeeLeaveDateTime
StatusRetirementDate 工作日 離開者 EmployeeLeaveDateTime
StatusTerminationDate 工作日 離開者 EmployeeLeaveDateTime
startDate SAP SF 加入者 EmployeeHireDate
firstDateWorked SAP SF 加入者 EmployeeHireDate
lastDateWorked SAP SF 離開者 EmployeeLeaveDateTime
endDate SAP SF 離開者 EmployeeLeaveDateTime

如需了解更多屬性,請參閱 Workday 屬性參考SAP SuccessFactors 屬性參考

時間的重要性

為確保已排程工作流程的時間正確性,請務必考慮以下各項:

  • 必須根據情況設定屬性的時間部分,例如:employeeHireDate 應該有一天開始的時間,例如 1AM 或 5AM,而 employeeLeaveDateTime 應該有一天結束的時間,例如 9PM 或 11PM
  • 該工作流程不會在屬性指定的時間前執行,不過租用戶排程 (預設為 3 小時) (部分機器翻譯) 可能會延遲工作流程的執行。 例如,如果您將 employeeHireDate 設定為 8AM,但租用戶排程要到 9AM 後才會執行,那麼系統將在該時間點後才會處理工作流程。 如果新進員工的入職時間是 8AM,請將時間設定為類似「開始時間 - 租用戶排程」,確保員工到職前執行工作流程。
  • 如果您使用臨時存取密碼 (TAP),建議您將存留期上限設定為 24 小時。 這樣做有助於確保 TAP 傳送給位於不同時區的員工後不會過期。 如需詳細資訊,請參閱在 Microsoft Entra ID 中設定臨時存取密碼,以註冊無密碼驗證方法
  • 匯入資料時,您應該了解來源是否可為使用者提供時區資訊,方便進行調整並確保時間的正確性,以及來源要用何種方法達成上述目標。

如何在 Microsoft Entra Connect 雲端同步中為 EmployeeHireDate 建立自訂同步處理規則

下列步驟引導您使用雲端同步建立同步處理規則。

  1. 在 Microsoft Entra 系統管理中心,瀏覽至 > [混合式管理] > [Microsoft Entra Connect]
  2. 選擇 [管理 Microsoft Entra Connect 雲端同步]
  3. 在 [設定] 底下,選取您的設定。
  4. 選取 [按一下以編輯對應]。 此連結會開啟 [屬性對應] 畫面。
  5. 選取 [新增屬性]
  6. 填寫下列資訊︰
    • 對應類型:直接
    • 來源屬性:msDS-cloudExtensionAttribute1
    • 預設值:保留空白
    • 目標屬性:employeeHireDate
    • 套用此對應:一律套用 雲端屬性對應的螢幕擷取畫面。
  7. 選取套用
  8. 回到 [屬性對應] 畫面,您應該會看到新的屬性對應。
  9. 選取 [儲存結構描述]

如需屬性的詳細資訊,請參閱 Microsoft Connect 雲端同步中的屬性對應 (機器翻譯)。

如何在 Microsoft Entra Connect 中為 EmployeeHireDate 建立自訂同步處理規則

下列範例逐步引導您設定自訂同步處理規則,可將 Active Directory 屬性同步至 Microsoft Entra ID 中的 employeeHireDate 屬性。

  1. 以系統管理員身分開啟 PowerShell 視窗,然後執行 Set-ADSyncScheduler -SyncCycleEnabled $false 以停用排程器。
  2. 前往 Start\Microsoft Entra Connect\,然後開啟 [同步處理規則編輯器]
  3. 確定頂端的方向已設定為 [輸入]
  4. 選取新增規則
  5. 在 [建立輸入同步處理規則] 畫面上,輸入下列資訊,然後選取 [下一步]
    • 名稱:從 AD - EmployeeHireDate 輸入
    • 連接的系統:contoso.com
    • 連接的系統物件類型:使用者
    • Metaverse 物件類型:人員
    • 優先順序:20 建立輸入同步處理規則基本資訊的螢幕擷取畫面。
  6. 在 [範圍篩選器] 畫面上,選取 [下一步]
  7. 在 [加入規則] 畫面上,選取 [下一步]
  8. 在 [轉換] 畫面的 [新增轉換] 底下,輸入下列資訊。
    • FlowType:直接
    • 目標屬性:employeeHireDate
    • 來源:msDS-cloudExtensionAttribute1 建立輸入同步處理規則轉換的螢幕擷取畫面。
  9. 選取 [新增]。
  10. 在 [同步處理規則編輯器] 中,確定頂端的方向已設定為 [輸出]
  11. 選取新增規則
  12. 在 [建立輸出同步處理規則] 畫面上,輸入下列資訊,然後選取 [下一步]
    • 名稱:輸出至 Microsoft Entra ID - EmployeeHireDate
    • 連接的系統:<您的租用戶>
    • 連接的系統物件類型:使用者
    • Metaverse 物件類型:人員
    • 優先順序:21
  13. 在 [範圍篩選器] 畫面上,選取 [下一步]
  14. 在 [加入規則] 畫面上,選取 [下一步]
  15. 在 [轉換] 畫面的 [新增轉換] 底下,輸入下列資訊。
    • FlowType:直接
    • 目標屬性:employeeHireDate
    • 來源:employeeHireDate 建立輸出同步處理規則轉換的螢幕擷取畫面。
  16. 選取 [新增]。
  17. 關閉 [同步處理規則編輯器]
  18. 執行 Set-ADSyncScheduler -SyncCycleEnabled $true 重新啟用排程器。

注意

  • msDS-cloudExtensionAttribute1 是範例來源。
  • Microsoft Entra Connect 2.0.3.0 (部分機器翻譯) 開始,employeeHireDate 會新增至預設的「輸出至 Microsoft Entra ID」規則,因此不需要步驟 10-16。
  • Microsoft Entra Connect 2.1.19.0 (部分機器翻譯) 開始,employeeLeaveDateTime 會新增至預設的「輸出至 Microsoft Entra ID」規則,因此不需要步驟 10-16。

如需詳細資訊,請參閱如何自訂同步處理規則,以及變更預設設定

在佈建應用程式中編輯屬性對應

設定佈建應用程式之後,您就可以編輯其屬性對應。 建立應用程式時,您會取得 HRM 與 Active Directory 之間的預設對應清單。 您可以從該處編輯現有的對應,或新增對應。

若要更新此對應,您可以執行下列動作:

  1. 全域管理員的身分登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別] > [應用程式] > [企業應用程式]

  3. 開啟佈建的應用程式。

  4. 選取 [佈建],然後選取 [編輯屬性對應]

  5. 選取 [顯示進階選項],然後選取 [編輯內部部署 Active Directory 屬性清單]編輯內部部署屬性的螢幕擷取畫面。

  6. 新增建立為 Type String 的來源屬性或屬性,然後在 CheckBox 上選取為必要。 來源 API 清單的螢幕擷取畫面。

    注意

    新增的來源屬性數目和名稱將取決於您從 Active Directory 同步處理的屬性。

  7. 選取 [儲存]。

  8. 您必須從該處將 HRM 屬性對應至新增的 Active Directory 屬性。 若要這樣做,請使用運算式新增對應。

  9. 您的運算式必須符合了解 EmployeeHireDate 和 EmployeeLeaveDateTime 格式一節中找到的格式。 設定屬性格式的螢幕擷取畫面。

  10. 選取 [確定]。

如何在 Microsoft Entra ID 中驗證這些屬性值

若要檢閱在 Microsoft Entra ID 中使用者物件上設定的值,您可以使用 Microsoft Graph PowerShell SDK (英文)。 例如:

# Import Module
Import-Module Microsoft.Graph.Users

# Define the necessary scopes
$Scopes =@("User.Read.All", "User-LifeCycleInfo.Read.All")

# Connect using the scopes defined and select the Beta API Version
Connect-MgGraph -Scopes $Scopes


# Query a user, using its user ID, and return the desired properties
$user = Get-MgUser -UserID "00aa00aa-bb11-cc22-dd33-44ee44ee44ee" -Property EmployeeLeaveDateTime
$User.EmployeeLeaveDateTime

結果的螢幕擷取畫面。

下一步