Thiago Rufino

Automatizando a Atualização do Primary User com Base no Usuário Conectado

Neste artigo, vamos demonstrar uma automação para atualizar o Primary User de acordo com o usuário conectado no dispositivo. Faremos uso do recurso Remediation do Intune em conjunto com o Microsoft Graph e PowerShell.

Sobre o Primary User

O Primary User do Intune, também conhecido como Afinidade de Dispositivo de Usuário, é uma propriedade atribuída a cada dispositivo gerenciado pelo Intune. Um dispositivo pode ter zero ou um primary user associado a ele. Quando um dispositivo não tem um primary user atribuído, ele é considerado um “Dispositivo Compartilhado”.

Portal da Empresa

O aplicativo de Portal da Empresa espera que a conta do usuário que está conectada ao Portal da Empresa seja o primary user deste dispositivo. Se outro usuário tiver sido atribuído como o primary user, o Portal da Empresa mostra um aviso:

“Este dispositivo já está atribuído a alguém em sua organização. Entre em contato com o suporte da empresa para saber como se tornar o usuário principal do dispositivo. Você pode continuar usando o Portal da Empresa, mas a funcionalidade será limitada.”

Se um dispositivo do Intune não tiver um primary user atribuído, o aplicativo Portal da Empresa o detectará como um dispositivo compartilhado. Dispositivos compartilhados são visualmente identificáveis com um rótulo “compartilhado” aparecendo no bloco do dispositivo. Nesse modo, o Portal da Empresa ainda pode ser usado para solicitar e instalar aplicativos disponíveis. No entanto, ações de autoatendimento (redefinir/renomear/desativar) não estão disponíveis.

Saiba mais em Find the primary user of a Microsoft Intune device. | Microsoft Learn.

App Registration

Precisaremos criar um App Registration no Entra ID para estabelecer uma autenticação segura para extrair informações do Microsoft Graph, Se necessário, utilize este link para acessar um guia passo a passo sobre como criar o aplicativo.

  • Permissões do tipo application a serem adicionadas ao App:
    • DeviceManagementConfiguration.ReadWrite.All
    • DeviceManagementManagedDevices.ReadWrite.All
    • User.ReadWrite.All
    • Directory.ReadWrite.All

Script

Sobre o funcionamento dos scripts, começando pelo script de detecção (detect), ele identifica os nomes dos dispositivos e o usuário nos quais está sendo executado. Em seguida, utilizando o Microsoft Graph, ele obtém os dados e compara se o usuário atualmente conectado é o mesmo que está definido no Intune como primary user. Se houver divergência, o processo de remediação será acionado para atualizar as informações no Intune.

Os scripts a serem utilizados estão disponibilizados no meu GitHub : clique aqui
Para os scripts de detection e remediation, ambos requerem a configuração das variáveis correspondentes ao App Registrations.

# App Registrations
$clientId = "27f044fd-dffc-4c75-a5d9-bca69affff22"
$clientSecret = "ual8Q~06UgaWJ3cuTGWLNbxJs1_QqPy-CUgLSb0m"
$tenantId = "144ac447-f91a-4a05-96f3-caa37e9d992f"

Remediation

  • Abrir Intune em https://intune.microsoft.com/.
  • Clique em Devices > Scripts and remediations.
  • Em Remediations, clique em Create.
  • Insira o nome e clique em Next.

Em Settings, siga estas etapas:

  1. Selecione o arquivo PowerShell correspondente ao script de detecção.
  2. Agora, selecione o script remediação.
  3. Marque Yes em Run this script using the logged-on credentials.
  4. Marque Yes em Run script in 64-bit PowerShell.
  5. Next
  • Clique em Next novamente.

Em Assignments, siga estas etapas:

  1. Selecione All devices ou um grupo específico.
  2. Clique na opção de schedule.
  3. Defina a frequência com que o script será executado.
  4. Clique em Apply.
  5. Em seguida, clique em Next.

Clique em Create para finalizar.

Logs

Intune Log

Podemos consultar os logs referente a essa automação no portal do Intune, acessando Tenant Administration > Audit Logs

Observe que em Application Name, será exibido o nome do App Registration criado anteriormente. Ao clicar na linha correspondente, serão apresentadas as informações detalhadas relacionadas àquela ação.

Script Log

O script utilizado no Remediation também gera logs, os quais são armazenados no arquivo PrimaryUser.log no diretório C:\temp\PrimaryUser.

Recomendo abrir os logs com o CMTrace. Se ainda não o possui, clique aqui para baixá-lo.

Comentar