2017-03-21 59 views
1

要跟進以前的question of mine,我想知道這是否可行。使用與預置用戶相同的ID創建一個新的Azure AD用戶

TLDR;使用Microsoft Graph創建新用戶時,該新用戶是否可以與預置現有AD用戶相匹配?

情況:

我們有一個內部部署AD與我們Azure的AD同步。默認的同步過程每30分鐘運行一次。

我們有一個ASP.NET MVC應用程序,它恰好在我們的本地AD中創建一個新用戶。創建成功後,我想強制與Azure AD同步,因爲我還有其他步驟可以應用於特定用戶,例如爲他分配許可證。

我知道Start-ADSyncSyncCycle -PolicyType Delta cmdlet,但我必須從C#中運行該cmdlet,並且這可能需要運行時間爲X amount,具體取決於需要同步的用戶數量。

此外,我需要一個命令來與我的其他步驟向前推進之前完全完成(適用於例如許可證)

問題:

由於與運行Start-ADSyncSyncCycle -PolicyType Delta cmdlet中的潛在問題並且可能需要運行X amount,我想知道是否可以使用Microsoft Graph並創建一個新用戶。

認爲我要的是,代碼已經創建了一個內部部署AD用戶,那麼,如果我用Microsoft Graph創建一個用戶,我很擔心,這最終將建立一個不同的問題用戶。

我正在考慮使用Graph來創建用戶的唯一原因是無需運行PowerShell命令,從而避免了運行所需的時間X amount

我猜問題是,是否有可能:

  • 創建內部部署AD用戶。
  • 從該新創建的用戶獲取某種ID並將該ID 傳遞給Microsoft Graph以這種方式創建用戶,我不會最終擁有兩個不同的用戶 。

在某個時間點,當實際同步過程發生時,它不會對該特定用戶執行任何操作,因爲它已經存在於Azure AD中。

我希望我做的意義,因爲它是一種很難用語言解釋這一

我歡迎任何不同的做法或想法。

真誠

+0

而不是使用**密碼同步**爲SSO,你可以考慮使用**聯合會與AD FS **哪些用戶能夠登錄到微軟雲服務,如Office 365使用他們在其本地網絡中使用的相同密碼,並將用戶重定向到他們的內部部署AD FS實例以登錄並在本地進行身份驗證? –

回答

0

這應該是可能的(雖然我沒有嘗試過)。這裏重要的是確保鏈接,您將onPremisesImmutableId屬性設置爲創建的一部分。請參閱https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/user。我不認爲我們有任何創建具有此屬性集的用戶的示例,但它應該很簡單,對於聯合用戶實際上是必需的。默認情況下,onPremisesImmutableId是本地AD用戶的ADObjectId,除非您已將ADConnect配置爲使用其他內容。

注意:您應該可以使用Azure AD PowerShell執行相同的操作 - https://docs.microsoft.com/en-us/powershell/azuread/v2/new-azureaduser(儘管此處屬性名爲immutableId)。

希望這有助於

+0

因此,如果我理解正確,以編程方式創建本地AD用戶後,我應該檢索新創建的ADObjectId。然後使用Graph to POST並創建一個新用戶。在該POST中,將onPremisesImmutableId屬性的值設置爲ADObjectId,並且瞧! 爲了記錄,在AD Connect啓動並執行其同步事件的那一天晚些時候,它不需要同步該特定的ADObjectId(或者簡單地忽略它),因爲該用戶將同時存在於內部部署AD和Azure AD對? – Vlince

+0

正確。我想當你設置onPremisesImmutableId屬性時,你可能需要基於64編碼它。我會檢查並回復你 - 或者你可以嘗試一個實驗;) –