Atualizar usuário

Namespace: microsoft.graph

Atualizar as propriedades de um objeto usuário.

  • Nem todas as propriedades podem ser atualizadas por utilizadores Membros ou Convidados com as respetivas permissões predefinidas sem funções de administrador. Compare as permissões padrão de membros e convidados para ver as propriedades que eles podem gerenciar.
  • Os clientes através de Microsoft Entra ID para clientes também podem utilizar esta operação de API para atualizar os seus detalhes. Veja Permissões de utilizador predefinidas nos inquilinos do cliente para obter a lista de propriedades que podem atualizar.
  • Para os utilizadores sincronizados, a capacidade de atualizar determinadas propriedades é ainda determinada pela origem da autoridade e se a sincronização está ativada.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante) User.ReadWrite User.ManageIdentities.All, User.EnableDisableAccount.All, User.ReadWrite.All, Directory.ReadWrite.All
Delegado (conta pessoal da Microsoft) User.ReadWrite Indisponível.
Application User.ManageIdentities.All User.EnableDisableAccount.All, User.ReadWrite.All, Directory.ReadWrite.All

Observação

  • Para atualizar propriedades confidenciais do utilizador, tais como accountEnabled, mobilePhone e outrosMails para utilizadores com funções de administrador com privilégios:
    • Em cenários delegados, a aplicação tem de ter a permissão Directory.AccessAsUser.All delegated e o utilizador de chamada tem de ter uma função de administrador com privilégios superior, conforme indicado em Quem pode efetuar ações confidenciais.
    • Em cenários apenas de aplicações, a aplicação tem de ter uma função de administrador com privilégios superior, conforme indicado em Quem pode realizar ações confidenciais.
  • A sua conta Microsoft pessoal tem de estar associada a um inquilino Microsoft Entra para atualizar o seu perfil com a permissão delegada User.ReadWrite numa conta Microsoft pessoal.
  • A atualização da propriedade identities requer a permissão User.ManageIdentities.All . Além disso, não é permitido adicionar uma conta local B2C a um objeto de usuário existente, a menos que o objeto de usuário já tenha uma identidade de conta local.
  • Para atualizar a propriedade employeeLeaveDateTime :
    • Em cenários delegados, o administrador precisa da função de Administrador Global ; a aplicação tem de ter as permissões delegadas User.Read.All e User-LifeCycleInfo.ReadWrite.All .
    • Em cenários apenas de aplicações com permissões do Microsoft Graph, a aplicação tem de ter as permissões User.Read.All e User-LifeCycleInfo.ReadWrite.All .
  • Para atualizar a propriedade customSecurityAttributes :
    • Em cenários delegados, tem de ser atribuída ao administrador a função Administrador de Atribuição de Atributos e a aplicação concedeu a permissão CustomSecAttributeAssignment.ReadWrite.All .
    • Em cenários apenas de aplicações com permissões do Microsoft Graph, a aplicação tem de ter a permissão CustomSecAttributeAssignment.ReadWrite.All .

Solicitação HTTP

PATCH /users/{id | userPrincipalName}

Cabeçalhos de solicitação

Cabeçalho Valor
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json

Corpo da solicitação

No corpo do pedido, forneça apenas os valores das propriedades a atualizar. As propriedades existentes que não estão incluídas no corpo do pedido mantêm os valores anteriores ou são recalculadas com base em alterações a outros valores de propriedade.

A tabela a seguir especifica as propriedades que podem ser atualizadas.

Propriedade Tipo Descrição
aboutMe String Um campo de entrada de texto em forma livre para o usuário se descrever.
accountEnabled Booliano true se a conta estiver habilitada; caso contrário, false. Essa propriedade é obrigatória quando um usuário é criado. Um Administrador de Autenticação Privilegiada atribuiu a permissão Directory.AccessAsUser.Todas as permissões delegadas são a função com menos privilégios que tem permissão para atualizar a status accountEnabled de todos os administradores no inquilino.
ageGroup ageGroup Define a faixa etária do usuário. Valores permitidos: null, Minor, NotAdulte Adult. Confira as definições de propriedades da faixa etária legal para obter mais informações.
birthday DateTimeOffset O aniversário do usuário. O tipo Timestamp representa informações de data e hora usando o formato ISO 8601 e está sempre no horário UTC. Por exemplo, meia-noite UTC em 1 de janeiro de 2014 é 2014-01-01T00:00:00Z
businessPhones Coleção de cadeias de caracteres Números de telefone para o usuário. OBSERVAÇÃO: embora essa seja uma coleção de cadeias de caracteres, somente um número pode ser definido para essa propriedade.
city String A cidade em que o usuário está localizado.
CompanyName String O nome da empresa à qual o utilizador está associado. Essa propriedade pode ser útil para descrever a empresa de onde procede um usuário externo. O tamanho máximo é de 64 caracteres.
consentProvidedForMinor consentProvidedForMinor Define se o consentimento foi obtido para menores. Valores permitidos: null, Granted, Denied e NotRequired. Confira as definições de propriedades da faixa etária legal para obter mais informações.
country Cadeia de caracteres O país/região em que o usuário está localizado; por exemplo, US ou UK.
customSecurityAttributes customSecurityAttributeValue Um tipo complexo aberto que contém o valor de um atributo de segurança personalizado atribuído a um objeto de diretório.
  • Para atualizar esta propriedade em cenários delegados, o principal de chamada tem de ter atribuída a função Administrador de Atribuição de Atributos e a aplicação concedeu a permissão CustomSecAttributeAssignment.ReadWrite.All delegated.
  • Para atualizar esta propriedade em cenários apenas de aplicações com permissões do Microsoft Graph, tem de ser concedida a permissão de aplicação CustomSecAttributeAssignment.ReadWrite.All .
  • department String O nome do departamento no qual o usuário trabalha.
    displayName String O nome exibido para o usuário no catálogo de endereços. Geralmente é a combinação do nome, da inicial do nome do meio e do sobrenome do usuário. Esta propriedade é necessária quando um utilizador é criado e não pode ser limpa durante as atualizações.
    employeeId String O identificador de funcionário atribuído ao usuário pela organização. O comprimento máximo é de 16 caracteres.
    employeeType String Captura o tipo de trabalhador corporativo. Por exemplo, Employee, Contractor, Consultant ou Vendor. Retornado apenas em $select.
    givenName String O nome fornecido (nome) do usuário.
    employeeHireDate DateTimeOffset A data de contratação do usuário. O tipo Timestamp representa informações de data e hora usando o formato ISO 8601 e está sempre no horário UTC. Por exemplo, meia-noite UTC em 1 de janeiro de 2014 é 2014-01-01T00:00:00Z
    employeeLeaveDateTime DateTimeOffset A data e hora em que o utilizador saiu ou sairá da organização. O tipo de carimbo de data/hora representa informações de data e hora com o formato ISO 8601 e está sempre na hora UTC. Por exemplo, meia-noite UTC em 1 de janeiro de 2014 é 2014-01-01T00:00:00Z.

    Para cenários delegados, o utilizador de chamadas tem de ter a função Administrador Global e a aplicação de chamadas atribuída às permissões User.Read.All e User-LifeCycleInfo.ReadWrite.All delegadas.
    employeeOrgData employeeOrgData Representa os dados da organização (por exemplo, divisão e costCenter) associados a um utilizador.
    interests Coleção de cadeias de caracteres Uma lista para o usuário descrever os interesses dele.
    jobTitle String O cargo do usuário.
    email String O endereço SMTP do usuário, por exemplo, jeff@contoso.com. As alterações a esta propriedade também atualizam a coleção proxyAddresses do utilizador para incluir o valor como um endereço SMTP. Para Azure AD contas B2C, esta propriedade pode ser atualizada até 10 vezes com endereços SMTP exclusivos. Não é possível atualizar para null.
    mailNickname String O alias de email do usuário. Essa propriedade deve ser especificada quando um usuário é criado.
    mobilePhone String O número de celular principal do usuário.
    mySite String A URL do site pessoal do usuário.
    officeLocation String A localização do escritório no local de trabalho do usuário.
    onPremisesExtensionAttributes onPremisesExtensionAttributes Contém extensionAttributes 1-15 para o usuário. Os atributos de extensão individuais não são selecionáveis ou filtráveis. Para um usuário do onPremisesSyncEnabled, a fonte de autoridade desse conjunto de propriedades é o local e é somente para leitura. Esses atributos de extensão também são conhecidos como atributos personalizados do Exchange 1-15.
    onPremisesImmutableId String Esta propriedade é utilizada para associar uma conta de utilizador Active Directory local ao respetivo objeto de utilizador Microsoft Entra. Esta propriedade tem de ser especificada ao criar uma nova conta de utilizador no Graph se estiver a utilizar um domínio federado para a propriedade userPrincipalName (UPN) do utilizador. Importante: Os $ carateres e _ não podem ser utilizados ao especificar esta propriedade.
    otherMails Coleção String Uma lista de endereços de email adicional para o usuário; Por exemplo: ["bob@contoso.com", "Robert@fabrikam.com"].
    passwordPolicies String Especifica as políticas de senha do usuário. Este valor é uma enumeração com um valor possível sendo DisableStrongPassword, que permite que senhas mais fracas do que a política padrão sejam especificadas. DisablePasswordExpiration também pode ser especificado. Os dois podem ser especificados em conjunto; por exemplo: DisablePasswordExpiration, DisableStrongPassword.
    passwordProfile PasswordProfile Especifica o perfil de senha do usuário. O perfil contém a senha do usuário. A senha no perfil deve atender a requisitos mínimos, conforme especificado pela propriedade passwordPolicies. Por padrão, é obrigatória uma senha forte. Como melhor prática, defina sempre forceChangePasswordNextSignIn como true. Isto não pode ser utilizado para utilizadores federados.
  • No acesso delegado, o aplicativo de chamada deve receber a permissão delegada Directory.AccessAsUser.All em nome do usuário conectado.
  • No acesso apenas à aplicação, a aplicação de chamadas tem de ter a permissão User.ReadWrite.All (privilégio mínimo) ou Diretório.ReadWrite.All (privilégio superior) e, pelo menos, a função Microsoft Entra Administrador de Utilizadores.
  • pastProjects Coleção de cadeias de caracteres Uma lista para o usuário enumerar seus projetos anteriores.
    postalCode String O código postal do endereço postal do usuário. O código postal é específico para o país/região do usuário. Nos Estados Unidos, esse atributo contém o CEP.
    preferredLanguage String O idioma preferencial do usuário. Deve seguir o Código ISO 639-1; por exemplo, en-US.
    responsibilities Coleção de cadeias de caracteres Uma lista para o usuário enumerar suas responsabilidades.
    schools Coleção de cadeias de caracteres Uma lista para o utilizador enumerar as escolas que frequentavam.
    skills Coleção de cadeias de caracteres Uma lista para o usuário enumerar suas qualificações.
    state String O estado ou município no endereço do usuário.
    streetAddress String O endereço do local de trabalho do usuário.
    surname String O sobrenome do usuário (nome de família ou sobrenome).
    usageLocation String Um código de duas letras (padrão ISO 3166). Obrigatório para os usuários que receberão licenças devido à exigência legal de verificar a disponibilidade de serviços nos países. Os exemplos incluem:US,JP e GB. Não anulável.
    userPrincipalName String O nome UPN do usuário. O UPN é um nome de início de sessão ao estilo da Internet para o utilizador com base no RFC 822 padrão da Internet. Por convenção, ele deve ser mapeado para o nome de email do usuário. O formato geral é alias@domain, onde o domínio deve estar presente na coleta de domínios verificados pelo locatário. Os domínios verificados para o locatário podem ser acessados pela propriedade verifiedDomains de organization.
    NOTA: esta propriedade não pode conter carateres de destaque. Somente os seguintes caracteres são permitidos A - Z, a - z, 0 - 9, ' . - _ ! # ^ ~. Para obter a lista completa de caracteres permitidos, consulte as políticas de nome de usuário.
    userType String Um valor de string que pode ser usado para classificar tipos de usuário em seu diretório, como Member e Guest.

    Observação

    • As propriedades a seguir não podem ser atualizadas por um aplicativo apenas com permissões de aplicativo: aboutMe, birthday, employeeHireDate, interests, mySite, pastProjects, responsabilidades, escolas e habilidades.
    • Para atualizar as seguintes propriedades, tem de especificá-las no seu próprio pedido PATCH, sem incluir as outras propriedades: aboutMe, birthday, interests, mySite, pastProjects, responsibilities, schools, and skills.

    Gerenciar extensões e dados associados

    Use essa API para gerenciar o diretório, o esquema e as extensões abertas e seus dados para os usuários, da seguinte maneira:

    • Adicionar, atualizar e armazenar dados nas extensões de um utilizador existente
    • Para extensões de diretório e esquema, remova todos os dados armazenados definindo o valor da propriedade de extensão personalizada como null. Para extensões abertas, use a API Excluir a extensão aberta.

    Resposta

    Se tiver êxito, este método retornará um código de resposta 204 No Content.

    Exemplo

    Exemplo 1: atualizar as propriedades do usuário conectado

    Solicitação

    O exemplo a seguir mostra uma solicitação.

    PATCH https://graph.microsoft.com/v1.0/me
    Content-type: application/json
    
    {
      "businessPhones": [
        "+1 425 555 0109"
      ],
      "officeLocation": "18/2111"
    }
    

    Resposta

    O exemplo a seguir mostra a resposta.

    HTTP/1.1 204 No Content
    

    Exemplo 2: atualizar as propriedades do usuário especificado

    Solicitação

    O exemplo a seguir mostra uma solicitação.

    PATCH https://graph.microsoft.com/v1.0/users/{id}
    Content-type: application/json
    
    {
      "businessPhones": [
        "+1 425 555 0109"
      ],
      "officeLocation": "18/2111"
    }
    

    Resposta

    O exemplo a seguir mostra a resposta.

    HTTP/1.1 204 No Content
    

    Exemplo 3: Atualizar a palavra-passePerficheiro de um utilizador e repor a palavra-passe

    O exemplo a seguir mostra uma solicitação para redefinir a senha de outro usuário. Como melhor prática, defina sempre forceChangePasswordNextSignIn como true.

    • No acesso delegado, o aplicativo de chamada deve receber a permissão delegada Directory.AccessAsUser.All em nome do usuário conectado.
    • No acesso apenas à aplicação, a aplicação de chamadas tem de ter a permissão User.ReadWrite.All (privilégio mínimo) ou Diretório.ReadWrite.All (privilégio superior) e, pelo menos, a função Microsoft Entra Administrador de Utilizadores.

    Solicitação

    PATCH https://graph.microsoft.com/v1.0/users/{id}
    Content-type: application/json
    
    {
      "passwordProfile": {
        "forceChangePasswordNextSignIn": false,
        "password": "xWwvJ]6NMw+bWH-d"
      }
    }
    

    Resposta

    HTTP/1.1 204 No Content
    

    Exemplo 4: Adicionar ou atualizar os valores de uma extensão de esquema para um usuário

    Você pode atualizar ou atribuir um valor a uma única propriedade ou a todas as propriedades na extensão.

    Solicitação

    PATCH https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e
    Content-type: application/json
    
    {
        "ext55gb1l09_msLearnCourses": {
            "courseType": "Admin"
        }
    }
    

    Para remover o valor da extensão de esquema do objeto de utilizador, defina a propriedade ext55gb1l09_msLearnCourses como null.

    Resposta

    HTTP/1.1 204 No Content
    

    Exemplo 5: Atribuir um atributo de segurança personalizado com um valor de cadeia a um utilizador

    O exemplo seguinte mostra como atribuir um atributo de segurança personalizado com um valor de cadeia a um utilizador.

    • Conjunto de atributos: Engineering
    • Atributo: ProjectDate
    • Tipo de dados de atributo: cadeia de caracteres
    • Valor do atributo: "2022-10-01"

    Para atribuir atributos de segurança personalizados, o principal de chamada deve ser atribuído à função de Administrador de Atribuição de Atributo e deve receber a permissão CustomSecAttributeAssignment.ReadWrite.All.

    Para obter exemplos de atribuições de atributos de segurança personalizadas, veja Exemplos: Atribuir, atualizar, listar ou remover atribuições de atributos de segurança personalizadas com o Microsoft API do Graph.

    Solicitação

    PATCH https://graph.microsoft.com/v1.0/users/{id}
    Content-type: application/json
    
    {
        "customSecurityAttributes":
        {
            "Engineering":
            {
                "@odata.type":"#Microsoft.DirectoryServices.CustomSecurityAttributeValue",
                "ProjectDate":"2022-10-01"
            }
        }
    }
    

    Resposta

    HTTP/1.1 204 No Content