PI Services

Le blog des collaborateurs de PI Services

Intune : Supprimer des devices Autopilot en masse en utilisant leurs numéros de série

Besoin :

Supprimer en masse des devices Autopilot d'un tenant source (Intune) pour pouvoir les migrer vers un tenant cible.

N.B : Un device Autopilot qu'on intègre dans Intune en utilisant son Hash ID ne peut pas co-exister dans deux tenants.

 

Solution :

1- Extraire les numéros de série des devices Autopilot à supprimer depuis Intune et les mettre dans un fichier texte nommé "Autopilot_Device_SN_list.txt" et le placer sous "c:\Windows\Temp".

2- Exécuter le script PowerShell ci-dessous afin de supprimer des devices Autopilot :

 

#STEP 1: Install WindowsAutopilotIntune Powershell module (if required, need ot run PowerShell as admin)
    Install-module WindowsAutopilotIntune -Force -AllowClobber

#STEP 2: Install WindowsAutopilotIntune Powershell module
    Import-module WindowsAutopilotIntune

#STEP 3: Connect to Microsoft Graph
    Connect-MgGraph -scopes "Group.ReadWrite.All, Device.ReadWrite.All, DeviceManagementManagedDevices.ReadWrite.All, DeviceManagementServiceConfig.ReadWrite.All, GroupMember.ReadWrite.All"

#STEP 4: Get the Autopilot devices Serial Numbers in a variable $DeviceSNs
    $DeviceSNs = Get-Content "C:\Windows\Temp\Autopilot_Device_SN_list.txt"
    $Counter = 0

#STEP 5: Delete the Autopilot devices based on serial number list
    foreach ($DeviceSN in $DeviceSNs)
    {
        $Counter++
        #Get Autopilot device ID
        $DeviceID = (Get-AutopilotDevice -serial $DeviceSN).id
        #Get current device information
        $CurrentDevice = Get-AutopilotDevice -id $DeviceID
        Write-host "Working on device $DeviceSN" -ForegroundColor Cyan
        #Delete device from Intune Windows Autopilot devices
        try
        {
            Remove-AutopilotDevice -id $DeviceID
            Write-host "- Device $DeviceSN is deleted" -ForegroundColor Green
        }
        catch{
            $ErrorMessage = $_.Exception.message; Write-Host $ErrorMessage -ForegroundColor Red
        }
        #Counter for PowerShell execution progress
        Write-Progress -Activity "Processing $($Counter) of $($DeviceSNs.count)" -CurrentOperation $DeviceSN -PercentComplete (($Counter / $DeviceSNs.count) * 100)
        Start-Sleep -Milliseconds 200
    }

N.B : le chemin vers le fichier texte qui contient les numéros de série des devices Autopilot "C:\Windows\Temp\Autopilot_Device_SN_list.txt" peut être modifié.

Intune : Mettre à jour le "Group Tag" des devices Autopilot dans Intune en utilisant PowerShell

Besoin

Ajouter ou mettre à jour le Group Tag des devices Autopilot dans Intune.

 

Solution :

1- Extraire les numéros de série des devices Autopilot à modifier depuis Intune et les mettre dans un fichier texte nommé "AutopilotDeviceSNlist.txt" et le placer sous "c:\Windows\Temp".

2- Exécuter le script PowerShell ci-dessous afin d'ajouter ou modifier les Group Tag des devices Autopilot :

#STEP 1: Install WindowsAutopilotIntune Powershell module (if required, need to run PowerShell as admin)
    Install-module WindowsAutopilotIntune -Force -AllowClobber

#STEP 2: Install WindowsAutopilotIntune Powershell module
    Import-module WindowsAutopilotIntune

#STEP 3: Connect to Microsoft Graph
    Connect-MgGraph -scopes "Group.ReadWrite.All, Device.ReadWrite.All, DeviceManagementManagedDevices.ReadWrite.All, DeviceManagementServiceConfig.ReadWrite.All, GroupMember.ReadWrite.All"

#STEP 4: Get the Autopilot devices Serial Numbers in a variable $DeviceSNs
    $DeviceSNs = Get-Content "c:\Windows\Temp\AutopilotDeviceSNlist.txt"

#STEP 5: Collect the Autopilot devices IDs
    $Date = (get-date).ToString("yyyy-MM-dd")
    foreach ($DeviceSN in $DeviceSNs)
    {
        #Export Autopilot devices IDs to a text file called AutopilotDeviceIDlist.txt
        (Get-AutopilotDevice -serial $DeviceSN).id | Out-File C:\Windows\Temp\AutopilotDeviceIDlist-$Date.txt -Append
    }

#STEP 6: Add or Update a group tag on Autopilot devices
    #Provide a Group Tag
    $Grouptag = Read-Host -Prompt "Please provide a group tag"
    #Get the Autopilot devices IDs in a variable $DeviceIDs
    $DeviceIDs = Get-Content "c:\Windows\Temp\AutopilotDeviceIDlist-$Date.txt"
    foreach ($DeviceID in $DeviceIDs)
    {
        #Get current device information.
        $CurrentDevice = Get-AutopilotDevice -id $DeviceID
        Write-host "Working on device $DeviceID" -ForegroundColor Cyan
        #Apply Group Tag on devices which are in AutopilotDeviceIDlist.txt
        Set-AutopilotDevice -id $DeviceID -groupTag $Grouptag
    }

N.B :

  • Le chemin "c:\Windows\Temp\AutopilotDeviceSNlist.txt" de la variable $DeviceSNs peut être modifié
  • la variable $Grouptag contiendra la valeur du Group Tag souhaité qui sera appliqué sur tous les devices Autopilot dans le fichier "AutopilotDeviceSNlist.txt"

Intune : Déployer Visio en utilisant Intune sur une machine qui a déjà Microsoft 365 apps installé

Besoin :

Ajouter Visio sur une machine où Microsoft 365 apps est déjà installé sans désinstaller tous les binaires existants.

 

Solution :

Aller à Microsoft Intune admin center

1- cliquer sur Apps > Windows

2- cliquer sur Add et sélectionner Microsoft 365 Apps Windows 10 and later

3- sur l'onglet App suite information, donner un nom à l'application et si nécessaire une description, des notes,..

4- sur l'onglet Configure app suite, choisir le format "Enter XML data" et copier les données XML ci-dessous :

<Configuration ID="b5f8e99c-4dd4-4630-a46f-e11f8fc2a13d">
  <Add Version="MatchInstalled">
    <Product ID="VisioProRetail">
      <Language ID="MatchInstalled" TargetProduct="All" />
      <ExcludeApp ID="Groove" />
    </Product>
  </Add>
</Configuration>

 

 

 

Intune : Déployer MS Project en utilisant Intune sur une machine qui a déjà Microsoft 365 apps installé

Besoin :

Ajouter MS Project sur une machine où Microsoft 365 apps est déjà installé sans désinstaller tous les binaires existants.

 

Solution :

Aller à Microsoft Intune admin center

1- cliquer sur Apps > Windows

2- cliquer sur Add et sélectionner Microsoft 365 Apps Windows 10 and later

3- sur l'onglet App suite information, donner un nom à l'application et si nécessaire une description, des notes,..

4- sur l'onglet Configure app suite, choisir le format "Enter XML data" et copier les données XML ci-dessous :

<Configuration ID="c3089e9b-4891-4ccb-b7a1-8ac5f42ee68a">
  <Add Version="MatchInstalled">
    <Product ID="ProjectProRetail">
      <Language ID="MatchInstalled" TargetProduct="All" />
      <ExcludeApp ID="Groove" />
    </Product>
  </Add>
</Configuration>

Intune : Purger les membres du groupe local Administrateurs et positionner les comptes définis par l'entreprise

Besoin :

Utiliser Intune pour purger tous les membres du groupe local Administrateurs et ajouter uniquement les comptes définis par l'entreprise.

Ceci est nécessaire quand les IT ajoutent des comptes locaux ou AD des utilisateurs dans le groupe local Administrateurs.

 

Solution :

Cela est possible en utilisant la partie "Account Protection" dans Endpoint Security de Intune.

Il faut créer une nouvelle politique "Local user group membership"

Ensuite il faut donner un nom à la nouvelle politique puis choisir le type d'action à exécuter afin de remplacer le contenu du groupe local Administrateurs par ce que l'entreprise souhaite.

Pour cela, il faut choisir les options ci-dessous dans l'onglet "Configuration settings" :

  • Local group : Administrators
  • Group and user action : Add (Replace)
  • User selection type : Manual
  • Selected users/groups : ajouter les SID, utilisateurs locaux ou les comptes Azure AD des utilisateurs souhaités

N.B : l'action "Add (Replace)" écrase tout le contenu du groupe y compris les SID ajoutés par défaut lors d'une jonction à Azure AD

  • Le SID du groupe (Builtin) Azure AD "Global Administrators"
  • Le SID du groupe (Builtin) Azure AD "Device Administrators"

Pour cela, il faut identifier ces SID depuis une machine existante joint à Azure AD pour les ajouter manuellement dans la nouvelle politique :

Une fois les SID identifiés et si l'entreprise exige par exemple l'ajout d'un compte Azure AD (corporate.Account@contoso.com) comme admin local de tous les devices, notre nouvelle politique aura la configuration ci-dessous :

Intune : Intégration manuelle du Hash ID avec le mode Online

Besoin :

Intégrer manuellement le Hash ID d'un device Autopilot dans Intune sans passer par la clé USB et le fichier csv.

 

Solution :

Ceci est possible en utilisant le mode Online du script PowerShell "Get-WindowsAutopilotInfo.ps1".

Une fois Windows est démarré et que vous êtes sur la page OOBE (Out Of the Box Experience) et connectés à Internet, il faut taper Shift + F10 pour ouvrir l'invite de commande ensuite dérouler les commandes PowerShell suivantes :

> Powershell

> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -force

> Install-Script Get-WindowsAutopilotInfo

    --> Choisir Yes  pour confirmer l'installation du script

> Get-WindowsAutopilotInfo.ps1 -Online -Assign -GroupTag "CompanyGroupTag"

    --> Quand invité à se connecter à Intune,  utilisez un compte d'administration ayant le droit d'import de device Autopilot

 

Intune : Résoudre les problèmes OOBE Autopilot

Description du problème

L'ordinateur démarre le déploiement Autopilot mais dans l'étape de configuration « Compte », cet écran s'affiche :


Au lieu de cet écran :


--> Si l'utilisateur final choisit "Configurer pour un usage personnel", il sera invité à créer un compte local/compte personnel Microsoft, au lieu d'utiliser son compte Entreprise
--> Par conséquent, l'ordinateur ne rejoindra pas Azure AD et ne sera pas inscrit à Intune

Résultats de troubleshooting

Collectez les journaux de diagnostic de l'ordinateur en exécutant la commande cmd ci-dessous localement (en tant qu'administrateur) :
"MDMDiagnosticsTool.exe -area Autopilot -cab C:\temp\Autopilot.cab"
Une fois généré, ouvrez le fichier compressé et recherchez "microsoft-windows-moderndeployment-diagnostics-provider-autopilot.evtx"
Dans ce journal d'observateur d'événements, vous devriez trouver les événements d'information et d'avertissement ci-dessous :

- Information event ID 153 :

- Warning event ID 100 :

Suite à cet article Microsoft, ces ID d'événement sont expliqués comme suit :

Troubleshoot Autopilot OOBE issues

Conclusion

Selon le troubleshooting, le problème décrit est lié à une erreur temporaire lorsque l'appareil essaie ou attend le téléchargement d'un profil de déploiement Autopilot.

Cette erreur temporaire peut être le résultat de :

- Problème de filtrage de connexion Internet

- Un profil Autopilot qui n'est toujours pas attribué à l'appareil :

  • Le Hash de l'appareil est correctement importé mais l'adhésion au groupe dynamique pour l'attribution du profil Autopilot est toujours en cours (nous pouvons attendre environ une heure après l'import du csv contenant le Hash et avant de commencer le déploiement de l'appareil, pour nous assurer que tout est bien configuré du côté Intune Autopilot)
  • Le Hash de l'ordinateur n'a pas été correctement importé dans Intune, colonne Group Tag manquante par exemple