Restaurar elemento eliminado (objeto de directorio)
Artículo
Espacio de nombres: microsoft.graph
Restaure una aplicación, un grupo, un servicePrincipal, una unidad administrativa o un objeto de usuario eliminados recientemente a partir de elementos eliminados. Si un elemento se ha eliminado accidentalmente, puede restaurarlo por completo. Sin embargo, los grupos de seguridad no se pueden restaurar. Además, la restauración de una aplicación no restaura automáticamente la entidad de servicio asociada. Debe llamar a esta API para restaurar explícitamente la entidad de servicio eliminada.
Un elemento eliminado recientemente permanece disponible durante un máximo de 30 días. Después de 30 días, el elemento se elimina permanentemente.
En la tabla siguiente se muestran los permisos o permisos con privilegios mínimos necesarios para llamar a esta API en cada tipo de recurso admitido. Siga los procedimientos recomendados para solicitar permisos con privilegios mínimos. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
En escenarios delegados con cuentas profesionales o educativas, al usuario que ha iniciado sesión se le debe asignar un rol de Microsoft Entra compatible o un rol personalizado con un permiso de rol admitido. Se admiten los siguientes roles con privilegios mínimos para esta operación.
Para restaurar aplicaciones o entidades de servicio eliminadas: Administrador de aplicaciones, Administrador de aplicaciones en la nube o Administrador de identidades híbridas.
Para restaurar usuarios eliminados: Administrador de usuarios. Sin embargo, para restaurar usuarios con roles de administrador con privilegios:
En escenarios delegados, a la aplicación se le debe asignar el permiso delegado Directory.AccessAsUser.All , y al usuario que realiza la llamada también se le debe asignar un rol de administrador con privilegios superiores, como se indica en ¿Quién puede realizar acciones confidenciales?.
En escenarios de solo aplicación y además de que se le conceda el permiso de aplicación User.ReadWrite.All , a la aplicación se le debe asignar un rol de administrador con privilegios superiores, como se indica en ¿Quién puede realizar acciones confidenciales?.
Para restaurar los grupos eliminados: Grupos Administrador. Sin embargo, para restaurar los grupos asignables por roles, al usuario que realiza la llamada se le debe asignar el rol Administrador de roles con privilegios .
En el cuerpo de la solicitud, proporcione una representación JSON de los parámetros.
En la tabla siguiente se enumeran los parámetros necesarios al llamar a esta acción.
Parámetro
Tipo
Descripción
autoReconcileProxyConflict
Booleano
Parámetro opcional. Indica si Microsoft Entra ID debe quitar las direcciones proxy en conflicto al restaurar un usuario eliminado temporalmente cuyas direcciones proxy se usan actualmente para un usuario activo. Solo se usa para restaurar objetos de usuario eliminados temporalmente. El valor predeterminado de este parámetro es false.
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK y el objeto directoryObject en el cuerpo de la respuesta.
POST https://graph.microsoft.com/v1.0/directory/deletedItems/78bf875b-9343-4edc-9130-0d3958113563/restore
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Directory.DeletedItems["{directoryObject-id}"].Restore.PostAsync();
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
restore, err := graphClient.Directory().DeletedItems().ByDirectoryObjectId("directoryObject-id").Restore().Post(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
var result = graphClient.directory().deletedItems().byDirectoryObjectId("{directoryObject-id}").restore().post();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.directory.deleted_items.by_directory_object_id('directoryObject-id').restore.post()
POST https://graph.microsoft.com/v1.0/directory/deleteditems/78bf875b-9343-4edc-9130-0d3958113563/restore
Content-Type: application/json
{
"autoReconcileProxyConflict": true
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.DirectoryNamespace.DeletedItems.Item.Restore;
var requestBody = new RestorePostRequestBody
{
AdditionalData = new Dictionary<string, object>
{
{
"autoReconcileProxyConflict" , true
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Directory.DeletedItems["{directoryObject-id}"].Restore.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphdirectory "github.com/microsoftgraph/msgraph-sdk-go/directory"
//other-imports
)
requestBody := graphdirectory.NewRestorePostRequestBody()
additionalData := map[string]interface{}{
autoReconcileProxyConflict := true
requestBody.SetAutoReconcileProxyConflict(&autoReconcileProxyConflict)
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
restore, err := graphClient.Directory().DeletedItems().ByDirectoryObjectId("directoryObject-id").Restore().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.directory.deleteditems.item.restore.RestorePostRequestBody restorePostRequestBody = new com.microsoft.graph.directory.deleteditems.item.restore.RestorePostRequestBody();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("autoReconcileProxyConflict", true);
restorePostRequestBody.setAdditionalData(additionalData);
var result = graphClient.directory().deletedItems().byDirectoryObjectId("{directoryObject-id}").restore().post(restorePostRequestBody);
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.directory.deleteditems.item.restore.restore_post_request_body import RestorePostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = RestorePostRequestBody(
additional_data = {
"auto_reconcile_proxy_conflict" : True,
}
)
result = await graph_client.directory.deleted_items.by_directory_object_id('directoryObject-id').restore.post(request_body)