Sommaire
ToggleDans cet article, je vais vous présenter un moyen de collecter à distance via Intune ce que vous voulez sur des machines (fichiers, dossiers, event logs…) et les uploader sur Azure ou GitHub.
Contexte
Par défaut, il est difficile du troubleshooting approfondi des postes de travail.
Si vous souhaitez accéder à des fichiers, ou event logs, il faut vous connecter à distance sur les machines.
Vous souhaitez récupérer certains dossiers ou event logs à distance.
Vous souhaitez un moyen sécurisé de les récupérer sans avoir à fournir des identifiants.
Le pincipe est simple, ajouter le contenu que vous souhaitez récupérer dans un XML.
D’autres méthodes ?
- Partie 1: Collecter les logs d’un appareil et les uploader sur Azure File
- Partie 2: Collecter les logs d’un appareil et les uploader sur GitHub
Le script
Le script est disponible sur GitHub, sur le lien ci-dessous :
Le fichier XML
Le fichier XML est nommé Content_to_collect.xml
Celui-ci contient les différentes noeuds :
- Folder
- Event log
Par défaut, il se présente tel que ci-dessous :
Le script va créer un fichier ZIP contenant chaque fichier et dossier de la partie Folder et chaque event logs de la partie Event log.
Si vous souhaitez ajouter un dossier à récupérer, il faudra procéder comme ci-dessous :
- Nous souhaitons par exemple récupérer le dossier C:\PerfLogs
- Ajoutez un nouveau noeud
- Saisissez le chemin du dossier
- Ajoutez la ligne suivante: <Folder_Path>C:\PerfLogs</Folder_Path>
Si vous souhaitez récupérer un nouvel event log, il faudra procéder comme ci-dessous :
- Nous souhaitons par exemple récupérer l’event log WLAN-AutoConfig
- Il faudra d’abord récupérer le chemin de celui-ci
- Vous pouvez le trouver en utilisant la commande suivante:
Get-WinEvent -ListLog * | where {$_.logname -like "*wlan*"}
- Le chemin sera le suivant: Microsoft-Windows-WLAN-AutoConfig/Operational
- Ajoutez un nouveau noeud, comme ci-dessous :
<event_log>
<event_name></Event_Name>
<event_path></Event_Path>
</Event_Log>
- Dans le champ Event_Name, saisissez WLAN-AutoConfig
- Dans le champ Event_Path, saisissez Microsoft-Windows-WLAN-AutoConfig/Operational
- Ci-dessous le noeud complet :
<event_log>
<event_name>WLAN-AutoConfig</Event_Name>
<event_path>Microsoft-Windows-WLAN-AutoConfig/Operational</Event_Path>
</Event_Log>
Prérequis
Pour GitHub
- Un repo privé GitHub
- Un token GitHub
Vous pouvez trouver davantage d’informations sur la méthode d’upload vers GitHub ici.
Pour Azure
- Un groupe de ressource
- Un compte de stockage
- Un espace de fichier Azure
- Une application enregistrée avec certificat
Vous pouvez trouver davantage d’informations sur la méthode d’upload vers Azure file ici.
Comment utiliser le script ?
Le script pour GitHub est nommé Collect_Device_Content_GitHub.ps1
Le script pour Azure est nommé Collect_Device_Content_Azure.ps1
Il faudra compléter le XML avec ce que vous souhaitez récupérer.
Implémentation dans Intune
Dans cet exemple nous allons créer un groupe Azure AD dans lequel nous intégrerons les appareils pour lesquels nous souhaitons récupérer le contenu.
Création du contenu de notre appli
Créer un dossier Collect_intune_Device_Content
Copier le fichier Collect_intune_Device_Content.ps1
Copier le fichier Content_to_collect.xml
Copier le fichier Azure_infos.xml
Création du package
- Exécuter IntuneWinAppUtil.exe
- Sélectionner le dossier Collect_intune_Device_Content
- Sélectionner le fichier Collect_intune_Device_Content.ps1
- Sélectionner un dossier d’export du fichier intunewin
Création de l’appli Win32
- Allez dans Intune
- Allez dans Clients apps
- Cliquez sur Apps
- Cliquez sur Add
- Sélectionnez Windows app (Win32) puis Select
- Cliquez sur Select app package file
- Choisir le fichier intunewin
- Cliquez sur OK
- Saisir un nom et configurer comme vous le souhaitez
- Dans Install et Uninstall command saisir:
C:\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe -noprofile -executionpolicy Bypass -file .\Collect_intune_Device_Content.ps1
- Cliquez sur Next
- Choisissez vos requirements
- Cliquez sur Next
- Dans Detection rules, choisir Use a detection script
- Choisir le fichier Detection_script.ps1
- Cliquez sur Add puis cliquez on OK
- Cliquez sur Next
- Dans la partie Dependencies cliquez sur Next
- Dans la partie Scope tags cliquez sur Next
- Dans Assignments ciquez sur Required puis Add group
- Sélectionnez le groupe
- Cliquez sur Next
- Cliquez sur Create
Vérifier le log
Lorsque le script principal est lancé un fichier de log est rempli.
Il est localisé dans C:\Windows\Debug