19/05/2024

Microsoft Intune

Intune – Comment forcer la synchronisation d’un ordinateur Windows ?

I. Présentation

Dans ce tutoriel, nous allons apprendre à synchroniser manuellement un appareil Windows inscrit dans Microsoft Intune. Cette manipulation peut s'avérer utile si vous venez de créer une nouvelle stratégie sur Intune et que vous souhaitez vérifier son bon fonctionnement, sans avoir à attendre. Ceci peut être pratique également en phase de dépannage sur un appareil Windows (stratégie non redescendue, stratégie en erreur, etc.).

Si vous avez l'habitude de travailler avec un Active Directory et les stratégies de groupe, vous recherchez surement un équivalent à la célèbre commande "gpupdate". À l'heure actuelle, cette commande n'existe pas pour Intune, à moins d'utiliser PowerShell mais cela implique de s'appuyer sur le module Microsoft Graph.

Dans cet article, nous allons étudier différentes possibilités, que ce soit depuis l'appareil à synchroniser en lui-même ou à partir du Centre d'administration Intune. Ceci nous donnera aussi l'occasion d'évoquer les cycles de synchronisation par défaut d'Intune, pour Windows et les autres OS pris en charge.

II. Les cycles de synchronisation Intune

Le cycle d'actualisation ou fréquence d'actualisation par défaut pour les appareils inscrits sur Intune, et peu importe le système d'exploitation, est de 8 heures. Cela signifie que lorsqu'une nouvelle stratégie est créée, elle peut mettre jusqu'à 8 heures à "redescendre" sur les appareils.

Voici un tableau récapitulatif :

PlateformeFréquence d'actualisation
Android, AOSPEnviron toutes les 8 heures
iOS/iPadOSEnviron toutes les 8 heures
macOSEnviron toutes les 8 heures
Windows 10/11Environ toutes les 8 heures
Windows 8.1Environ toutes les 8 heures

Néanmoins, lorsqu'un appareil vient de s'inscrire dans Intune, la fréquence d'actualisation est un peu différente. Il y aura des synchronisations rapprochées au départ, comme le montre le tableau ci-dessous.

PlateformeFréquence d'actualisation
Android, AOSPToutes les 3 minutes pendant 15 minutes, ensuite toutes les 15 minutes pendant 2 heures, et ensuite environ toutes les 8 heures.
iOS/iPadOSToutes les 15 minutes pendant 1 heure, et ensuite environ toutes les 8 heures.
macOSToutes les 15 minutes pendant 1 heure, et ensuite environ toutes les 8 heures.
Windows 10/11Toutes les 3 minutes pendant 15 minutes, ensuite toutes les 15 minutes pendant 2 heures, et ensuite environ toutes les 8 heures.
Windows 8.1Toutes les 3 minutes pendant 15 minutes, ensuite toutes les 15 minutes pendant 2 heures, et ensuite environ toutes les 8 heures.

Les informations présentées dans les tableaux ci-dessus sont issues de la documentation Microsoft :

Certaines actions impliquent une synchronisation "dès que possible", où Intune notifie l'appareil qu'il doit se synchroniser maintenant. Voici ce que l'on peut lire sur cette page de la documentation Microsoft : "Les appareils se connectent à Intune lorsqu'ils reçoivent une notification de connexion ou lors de la connexion programmée. Lorsque vous ciblez un appareil ou un utilisateur avec une action, Intune notifie immédiatement l'appareil pour qu'il s'enregistre et reçoive ces mises à jour. Par exemple, une notification est envoyée lorsqu'une action de verrouillage, de réinitialisation du code d'accès, d'application ou d'attribution de stratégie est exécutée."

De plus, il y a un cycle différent pour l'Intune Management Extension, utilisée notamment pour l'exécution des scripts PowerShell avec Intune et le déploiement des applications avec Intune, où le cycle de synchronisation est de 1 heure.

Par ailleurs, il n'est pas à exclure qu'il y ait quelques exceptions et des cycles d'actualisation différents sur certaines fonctionnalités spécifiques d'Intune. C'est le cas avec les stratégies d'App Protection comme l'explique cette page.

III. Synchroniser un appareil Windows

Nous allons nous intéresser à différentes façons de synchroniser un appareil Windows, que ce soit depuis l'appareil en lui-même, depuis le Centre d'administration Microsoft Intune ou à l'aide de PowerShell.

A. Synchroniser à partir des paramètres de Windows

La première méthode à connaître, et que nous avons déjà évoqué dans de précédents articles, consiste à utiliser l'interface de gestion des paramètres de Windows.

Ouvrez les "Paramètres" Windows, cliquez sur "Comptes" à gauche, puis sur "Accès Professionnel ou Scolaire". Cliquez sur la flèche (mise en évidence sur l'image ci-dessous), puis sur le bouton "Info".

Synchroniser paramètres Intune sur un PC Windows 11

Une nouvelle page apparaît. Sur celle-ci, vous devez cliquer sur le bouton "Synchroniser". Ceci va permettre de déclencher une synchronisation, et il ne vous reste plus qu'à patienter le temps qu'elle soit effectuée.

Prise en main Intune - Forcer synchronisation PC

B. Synchroniser à partir du Portail d'entreprise

Parmi les fonctionnalités de l'application "Portail d'entreprise" appelée également "Company Portal", il y a la possibilité de lancer une synchronisation sans passer par les paramètres du système Windows. Au sein de cette application, qui doit être au préalable installée sur l'appareil, cliquez sur le bouton des paramètres en bas à gauche (1) afin d'accéder au bouton nommé "Synchroniser" (2). Ceci est facilement accessible par un utilisateur lambda.

Une autre possibilité, c'est d'effectuer un clic droit sur "Portail d'entreprise" dans le menu Démarrer afin de cliquer sur le bouton "Synchroniser cet appareil". Le problème, c'est que cette entrée est visible seulement lorsque l'on effectue un clic droit à partir de la liste de toutes les applications (si l'application est épinglée au menu Démarrer et que l'on passe par ce raccourci, cela n'est pas proposé).

C. Synchroniser un appareil depuis le portail Intune

Désormais, nous allons basculer sur le Centre d'administration Intune puisqu'il intègre deux fonctionnalités permettant de lancer une synchronisation sur un ou plusieurs appareils.

Tout d'abord, quand vous accédez à la liste des "Appareils" et qu'ensuite, vous cliquez sur un appareil dans la liste, vous verrez apparaître un bouton nommé "Synchroniser" dans la "Vue d'ensemble". Il vous suffit de cliquer sur ce bouton.

Une fenêtre de confirmation apparaît, cliquez sur "Oui" et cela va envoyer un signal à la machine pour qu'elle se synchronise.

D. Synchroniser en masse des appareils depuis le portail Intune

Le Centre d'administration Intune vous offre aussi la possibilité d'effectuer des actions en masse sur une sélection d'appareils. La synchronisation fait partie des actions envisageables. Voici la marche à suivre :

1 - Cliquez sur "Appareils" dans le menu de gauche du portail Intune

2 - Cliquez sur "Tous les appareils".

3 - Cliquez sur le bouton "Actions d'appareil en bloc".

Un assistant va s'exécuter. Plusieurs options sont à configurer :

1 - Vous devez commencer par choisir le système d'exploitation, donc prenez "Windows".

2 - Sélectionnez le type d'appareil "Appareils physiques".

3 - Comme type d'action à exécuter, sélectionnez "Synchroniser".

Passez à l'étape suivante. Vous devrez alors cliquer sur "Sélectionner les appareils à inclure" afin de sélectionner un ou plusieurs appareils, dans la limite de 100 appareils (limite actuelle).

Ensuite, poursuivez jusqu'à la fin de la création de la tâche. Une notification au sein d'Intune vous indiquera si la tâche a été lancée, ou non.

E. Synchroniser un appareil avec PowerShell

Avec PowerShell, nous pouvons interagir avec les services Cloud de Microsoft tels qu'Azure et Intune par l'intermédiaire de Microsoft Graph. Il y a un ensemble de modules PowerShell disponibles et à utiliser en fonction des usages. Nous allons voir comment utiliser Microsoft Graph avec PowerShell pour synchroniser un appareil (puis plusieurs appareils).

Commencez par ouvrir une console PowerShell en tant qu'administrateur afin d'installer les modules Microsoft Graph. Vous pouvez tout installer, ou uniquement installer ceux dont vous avez besoin. Peut-être que vous avez déjà ces modules sur votre machine si vous avez l'habitude d'interagir avec les services Microsoft avec PowerShell.

Puis, exécutez la commande suivante pour basculer dans une console PowerShell avec la stratégie d'exécution "RemoteSigned", sinon vous allez obtenir des erreurs par la suite (si vous êtes en "Restricted", par exemple).

powershell.exe -ExecutionPolicy RemoteSigned

Installez tous les modules Microsoft Graph (alternative ci-dessous) :

Install-Module Microsoft.Graph

Si vous préférez limiter l'installation au strict minimum, installez ceci :

Install-Module -Name Microsoft.Graph.DeviceManagement
Install-Module -Name Microsoft.Graph.DeviceManagement.Actions

Vous devez savoir que :

  • Le module "Microsoft.Graph.DeviceManagement" contient le cmdlet "Get-MgDeviceManagementManagedDevice" que nous allons utiliser par la suite pour récupérer des informations sur les appareils.
  • Le module "Microsoft.Graph.DeviceManagement.Actions" contient le cmdlet "Sync-MgDeviceManagementManagedDevice" que nous allons utiliser pour déclencher une synchronisation sur un appareil.

Ensuite, connectez-vous à Microsoft Graph avec PowerShell. Nous pourrions établir une connexion globale, mais nous allons plutôt limiter notre connexion à certains scopes correspondants à nos besoins. Ceci pour des raisons de sécurité et pour limiter les droits de la session que nous allons initier.

Connect-MgGraph -Scope DeviceManagementManagedDevices.PrivilegedOperations.All, DeviceManagementManagedDevices.ReadWrite.All,DeviceManagementManagedDevices.Read.All

Suite à l'exécution de cette commande, vous êtes invités à vous authentifier auprès de votre tenant Microsoft 365. Puis, vous devez valider la demande d'autorisations émise par l'application Microsoft Graph.

PowerShell - Connect-MgGraph - Intune

Quand c'est fait, un message doit s'afficher dans la console : "Welcome to Microsoft Graph!". Il signifie en quelque sorte que vous pouvez commencer à interroger Intune à partir de PowerShell, car la connexion est établie.

Commençons par l'exécution d'une première commande qui va retourner la liste de tous vos appareils, aussi bien Windows que les autres plateformes, en retournant les propriétés "DeviceName" et "LastSyncDateTime" qui correspondent respectivement au nom de l'appareil et à sa date de dernière synchronisation. Le paramètre "-All" est important, car si vous avez beaucoup d'appareils, la liste sera incomplète s'il n'est pas précisé.

Get-MgDeviceManagementManagedDevice -All | Format-Table DeviceName, LastSyncDateTime

Voici un exemple :

PowerShell - Get-MgDeviceManagementManagedDevice - Exemple

Si vous souhaitez obtenir ces informations uniquement pour les appareils Windows, vous devez ajouter un filtre sur la propriété "OperatingSystem". Il y a deux façons d'effectuer ce filtre :

Get-MgDeviceManagementManagedDevice -Filter "Startswith(OperatingSystem,'Windows')" -All | Format-Table DeviceName, LastSyncDateTime
# ou
Get-MgDeviceManagementManagedDevice -All | Where{ $_.OperatingSystem -eq "Windows" } | Format-Table DeviceName, LastSyncDateTime

Vous devez stocker le résultat du cmdlet "Get-MgDeviceManagementManagedDevice" dans une variable afin de récupérer l'ID de l'appareil à cibler. Dans l'exemple ci-dessous, nous allons ajouter un filtre basé sur l'opérateur "Contains" pour rechercher la machine "PC-ITC-02". C'est sur cette machine que nous souhaitons forcer une synchronisation.

$Target = Get-MgDeviceManagementManagedDevice -Filter "contains(deviceName,'PC-ITC-02')"

Le résultat est stocké dans la variable "$Target". Elle contient un ensemble de propriétés au sujet de cet appareil, dont la propriété "Id" qui est requise par le cmdlet "Sync-MgDeviceManagementManagedDevice".

Ainsi, voici comment nous allons forcer la synchronisation sur cet appareil :

Sync-MgDeviceManagementManagedDevice -ManagedDeviceId $Target.Id

Cette commande ne retourne pas de résultat dans la console, mais l'ordre de synchronisation sera bien envoyé à l'appareil.

Intune - Synchroniser appareil avec PowerShell

F. Synchroniser plusieurs appareils avec PowerShell

Grâce à l'utilisation de PowerShell, nous allons pouvoir cibler plusieurs appareils et créer des filtres sur-mesure.

Voici un premier exemple pour obtenir la liste de tous les appareils dont le nom commence par "PC-ITC", ce qui permettra de cibler les appareils nommés "PC-ITC-01", "PC-ITC-02", etc.

Get-MgDeviceManagementManagedDevice -Filter "Startswith(deviceName,'PC-ITC')"

Voici un second exemple pour obtenir la liste de tous les appareils dont le nom contient la chaine de caractères "ITC" (peu importe si cela est au début, à la fin, au milieu, etc.).

Get-MgDeviceManagementManagedDevice -Filter "Contains(deviceName,'ITC')"

Ensuite, nous pouvons stocker le résultat dans une variable et parcourir la liste d'appareils avec une boucle ForEach dans le but de déclencher une synchronisation sur chaque appareil.

$Targets = Get-MgDeviceManagementManagedDevice -Filter "Startswith(deviceName,'PC-ITC')"

ForEach ($Device in $Targets) {
        try {
            Sync-MgDeviceManagementManagedDevice -ManagedDeviceId $Device.id -ErrorAction Stop
            Write-Host "$($device.DeviceName) - Synchronisation exécutée" -ForegroundColor Green
        }
        catch {
            Write-Host "$($device.DeviceName) - Echec de l'opération avec l'erreur : $($_.Exception.Message)" -ForegroundColor Red
        }
}

Pour chaque appareil, il y aura un retour dans la console pour indiquer si la commande "Sync-MgDeviceManagementManagedDevice" s'est exécutée correctement ou non. Attention, ceci n'indique pas réellement le résultat de la synchronisation.

PC-ITC-02 - Synchronisation exécutée

IV. Conclusion

Suite à la lecture de cet article, vous êtes capable de forcer la synchronisation d'un appareil Windows inscrit dans Intune pour qu'il récupère les dernières stratégies qui lui sont affectées !

Il y a deux autres méthodes que j'aurais pu indiquer et qui fonctionnent assez bien. La première, c'est le fait de redémarrer l'appareil Windows, mais ceci est un peu contraignant si un utilisateur travaille sur son ordinateur. La seconde, c'est le fait de redémarrer le service "IntuneManagementExtension" pour une actualisation liée aux applications et aux scripts.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.