簡體   English   中英

還原已刪除的目錄Azure Active Driectory對象 - Azure Graph API

[英]Restore Deleted Directory Azure Active Driectory Object - Azure Graph API

我們對我們的本地AD有一個清理過程,要求刪除預先帳戶,同時保留azure服務的單點登錄。 這意味着我們需要能夠將azure帳戶轉換為“雲管理”帳戶。

我的研究(和成功的測試)已經說過這可以通過將本地用戶移動到目錄同步范圍之外的OU來實現。

問題是,雖然此操作執行了“雲管理”的理想轉換,但它也將azure帳戶移動到“DeletedObjects”

如何以編程方式從DeletedObjects中還原僅限雲的帳戶? (Microsoft.Azure.ActiveDirectory.GraphClient v 2.1.1)

    public static bool RestoreDeletedUser(Guid ObjectId)
    {
        ActiveDirectoryClient activeDirectoryClient = AuthenticationHelper.GetActiveDirectoryClientAsApplication();
        Task<IPagedCollection<IDirectoryObject>> userQuery = activeDirectoryClient.DeletedDirectoryObjects.Where(u => u.ObjectId.Equals(ObjectId.ToString())).ExecuteAsync();
        userQuery.Wait();
        IPagedCollection<IDirectoryObject> userQueryResult = userQuery.Result;
        List<IDirectoryObject> user = userQueryResult.CurrentPage.ToList();
        if (user.Count == 1)
        {
            user.First().restore(); //What do I do here? .restore is not a function.
        }
        return false;
    }

您可以通過較新的Microsoft Graph API https://graph.microsoft.com或它的SDK恢復已刪除的用戶。 我將很快介紹基礎API和相關代碼。

我認為恢復功能不適用於較舊的Azure AD Graph API https://graph.windows.net或它的SDK,這是您當前代碼所使用的。 我沒有在任何地方明確地說明這一點,所以我可能會錯誤地說這個,但我說這是基於兩件事:

  • Microsoft針對較舊的Azure AD Graph和較新的Microsoft Graph API的比較博客 - Microsoft Graph或Azure AD Graph (查看比較表)

    在此輸入圖像描述

  • Azure AD Graph API文檔 - 我可以在這里看到應用程序對象提到的一些恢復功能,但與User無關。 通過客戶端SDK代碼查看,我找不到任何方法來恢復。

總的來說,無論如何強烈建議使用較新的Microsoft Graph API而不是舊的Azure AD Graph API,因為您可以在上面提到的鏈接中閱讀。

如何使用Microsoft Graph API還原用戶

使用.NET Client SDK

GraphServiceClient graphClient = new GraphServiceClient(authProvider);

await graphClient.Directory.DeletedItems["{object-id}"]
    .Restore()
    .Request()
    .PostAsync()

底層API - 恢復已刪除的項目

POST https://graph.microsoft.com/v1.0/directory/deletedItems/{id}/restore

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM