Restaurar elemento eliminado (objeto de directorio)

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

Restaurar un objeto de directorio eliminado recientemente a partir de elementos eliminados. Se admiten los siguientes tipos:

Si un elemento se elimina accidentalmente, puede restaurarlo por completo. Además, restaurar 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.

Esta API está disponible en las siguientes implementaciones en la nube nacional.

Servicio global Administración pública de EE. UU. Gobierno de EE. UU. L5 (DOD) China operado por 21Vianet
✅ ✅ ✅ ✅

Permissions

En la tabla siguiente se muestran los permisos con privilegios mínimos necesarios para llamar a esta API en cada tipo de recurso admitido. Siga las prácticas recomendadas 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.

Recurso admitido Delegado (cuenta profesional o educativa) Delegado (cuenta de Microsoft personal) Aplicación
administrativeUnit AdministrativeUnit.ReadWrite.All No admitida. AdministrativeUnit.ReadWrite.All
application Application.ReadWrite.All No admitida. Application.ReadWrite.OwnedBy
agentIdentity AgentIdentity.DeleteRestore.All No admitida. AgentIdentity.DeleteRestore.All
agentIdentityBlueprint AgentIdentityBlueprint.DeleteRestore.All No admitida. AgentIdentityBlueprint.DeleteRestore.All
agentIdentityBlueprintPrincipal AgentIdentityBlueprintPrincipal.DeleteRestore.All No admitida. AgentIdentityBlueprintPrincipal.DeleteRestore.All
agentUser AgentIdUser.ReadWrite.IdentityParentedBy No admitida. AgentIdUser.ReadWrite.IdentityParentedBy
certificateBasedAuthPki PublicKeyInfrastructure.Read.All No admitida. PublicKeyInfrastructure.Read.All
certificateAuthorityDetail PublicKeyInfrastructure.Read.All No admitida. PublicKeyInfrastructure.Read.All
externalUserProfile ExternalUserProfile.ReadWrite.All No se admite ExternalUserProfile.ReadWrite.All
grupo Group.ReadWrite.All No admitida. Group.ReadWrite.All
pendingExternalUserProfile PendingExternalUserProfile.ReadWrite.All No se admite PendingExternalUserProfile.ReadWrite.All
servicePrincipal Application.ReadWrite.All No admitida. Application.ReadWrite.OwnedBy
user User.DeleteRestore.All No admitida. User.DeleteRestore.All

Importante

Para el acceso delegado con cuentas profesionales o educativas, el usuario que ha iniciado sesión debe tener asignado un rol compatible de Microsoft Entra o un rol personalizado que conceda los permisos necesarios para esta operación. Esta operación admite los siguientes roles integrados, que proporcionan solo el privilegio mínimo necesario:

  • Identidades de agente, planos técnicos de identidad de agente y entidades del plano técnico de identidad de agente: Administrador de ID de agente
  • Unidades administrativas: Lectores de directorios (solo lectura), Lectores globales (solo lectura), Administrador de roles con privilegios
  • Aplicaciones: administrador de identidades híbridas, administrador de aplicaciones en la nube, administrador de aplicaciones
  • Perfiles de usuarios externos: Lector global (solo lectura), Administrador de Skype Empresarial, Administrador de Teams
  • Grupos: Administrador de grupos (excepto para grupos asignables a roles), Administrador de usuarios (excepto para grupos asignables a roles), Administrador de roles con privilegios (rol con privilegios mínimos para grupos asignables a roles)
  • Perfiles de usuario externos pendientes: Lector global (solo lectura), Administrador de Skype Empresarial, Administrador de Teams
  • Entidades de servicio: administrador de identidades híbridas, administrador de aplicaciones en la nube, administrador de aplicaciones
  • Usuarios: Administrador de autenticación, Administrador de autenticación con privilegios, Administrador de usuarios. Sin embargo, para restaurar a los usuarios con roles de administrador con privilegios:
    • En escenarios delegados, se debe asignar a la aplicación el permiso delegado Directory.AccessAsUser.All y también se debe asignar al usuario que llama 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 recibir el permiso de aplicación User.ReadWrite.All , se debe asignar a la aplicación un rol de administrador con privilegios superiores, como se indica en ¿Quién puede realizar acciones confidenciales?.

Solicitud HTTP

POST /directory/deletedItems/{id}/restore

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización.
Tipo de contenido application/json

Cuerpo de la solicitud

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 una o más direcciones proxy se usan actualmente para un usuario activo. Solo se usa para restaurar un usuario eliminado temporalmente. El valor predeterminado para este parámetro es false.
newUserPrincipalName Cadena El nuevo userPrincipalName para agregar al usuario restaurado. Opcional.

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.

Ejemplos

Ejemplo 1: restaurar un objeto de directorio eliminado

Solicitud

POST https://graph.microsoft.com/beta/directory/deletedItems/46cc6179-19d0-473e-97ad-6ff84347bbbb/restore

Respuesta

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#directoryObjects/$entity",
  "@odata.type":"#microsoft.graph.group",
  "id":"46cc6179-19d0-473e-97ad-6ff84347bbbb",
  "displayName":"SampleGroup",
  "groupTypes":["Unified"],
  "mail":"example@contoso.com",
  "mailEnabled":true,
  "mailNickname":"Example",
  "securityEnabled":false,
  "visibility":"Public"
}

Ejemplo 2: Restaurar un usuario eliminado y quitar las direcciones proxy en conflicto

Solicitud

POST https://graph.microsoft.com/beta/directory/deletedItems/78bf875b-9343-4edc-9130-0d3958113563/restore
Content-Type: application/json

{
  "autoReconcileProxyConflict": true
}

Respuesta

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
    "@odata.type": "#microsoft.graph.user",
    "id": "78bf875b-9343-4edc-9130-0d3958113563",
    "businessPhones": [],
    "displayName": "SampleUser",
    "givenName": "Sample",
    "jobTitle": "Product Marketing Manager",
    "mail": "sampleuser@contoso.com",
    "mobilePhone": "+1 425 555 0109",
    "officeLocation": "18/2111",
    "preferredLanguage": "en-US",
    "surname": "Vance",
    "userPrincipalName": "sampleuser@contoso.com"
}

Ejemplo 3: Restaurar un usuario eliminado y asignarle un nuevo userPrincipalName

Solicitud

POST https://graph.microsoft.com/beta/directory/deletedItems/78bf875b-9343-4edc-9130-0d3958113563/restore
Content-Type: application/json

{
  "newUserPrincipalName": "johndoe@contoso.com"
}

Respuesta

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#directoryObjects/$entity",
    "@odata.type": "#microsoft.graph.user",
    "id": "78bf875b-9343-4edc-9130-0d3958113563",
    "businessPhones": [],
    "displayName": "SampleUser",
    "givenName": "Sample",
    "mobilePhone": "+1 425 555 0109",
    "officeLocation": "18/2111",
    "preferredLanguage": "en-US",
    "surname": "Vance",
    "userPrincipalName": "johndoe@contoso.com"
}