Dans cet article, je vais vous montrer un script vous permettant d'envoyer automatiquement les logs de séquence de tâche MECM/MDT, lorsque celle-ci échoue, dans SharePoint.


Contexte

- Vous utilisez MDT ou MECM

- Vous déployez Windows via une séquence de tâches


Que souhaitons-nous ?

Généralement, lorsqu'une erreur se produit sur un appareil pendant une séquence de tâches, vous devez vous rendre physiquement sur l'appareil pour vérifier les journaux ou vous connecter à distance si possible.

Il peut être un peu ennuyeux de vérifier les journaux de l'appareil.

Avec ce script, lorsqu'une séquence de tâches échoue, tous les logs utiles seront automatiquement envoyés dans un SharePoint et une notification affichée sur Teams.

De cette façon, vous pouvez consulter les logs depuis votre poste et tous les membres de votre équipe (s'ils ont accès au SharePoint) pourront également les consulter.


La solution

La solution se traduit en quelques étapes :

- Créer une application SharePoint

- Créer un package MECM

- Ajoutez-le à la séquence de tâches

- Le script utilisera l'application SharePoint

- Il accédera à un SharePoint spécifique

- Il enverra les logs

- Envoyer une notification Teams concernant la purge


Obtenir le script

Cliquez sur l'image GitHub ci-dessous pour obtenir le script



Comment utiliser le script ?

Informations SharePoint

Ajoutez les informations relatives à votre application SharePoint ligne 29 à 32.

Nous verrons différentes manières de procéder plus loin dans l'article.

Ajoutez votre webhook dans la variable $Webhook_URL.


Notification sur Teams

La notification envoyées sur Teams en cas d'erreur se présente comme ci-dessous :


Vous pouvez facilement la configurer dans le fichier ps1.


Création de l'application SharePoint

Nous allons créer une application SharePoint pour envoyer les logs.

Pour cela, consultez mon article ici.


Créer un webhook Teams

Objectif : dans cette partie, nous allons créer un connecteur sur un canal Teams nous permettant d'automatiser la possibilité d'envoyer des notifications Teams.


Pour cela, nous procéderons comme suit:

1. Accédez à votre Teams

2. Cliquez sur les ...

3. Cliquez sur Connecteurs

4. Accez dans Incoming Webhook

5. Tapez un nom

6. Cliquez sur Create

7. Copiez le chemin Webhook


Implémenter dans MECM ou MDT

Créer le package MECM

1. Allez dans Software library

2. Allez dans Application Management puis Packages

3. Faites un clic droit puis Create un package

4. Saisissez un nom

5. Cochez This package contains source files

6. Cliquez sur Browse, puis sélectionnez le dossier contenant le package

7. Cliquez sur Next

8. Sélectionnez Do not create a program

9. Cliquez sur Next

10. Cliquez sur Next

11. Cliquez sur Close


Distribuer le package

1. Faites un clic droit sur votre package

2. Sélectionnez Distribute Content

3. Cliquez sur Next

4. Cliquez sur Add et select Distribution Point

5. Sélectionnez votre DP et cliquez sur OK

6. Cliquez sur Next

7. Cliquez sur Next

8. Cliquez sur Close


Envoi en cas d'échec

Le but est d'envoyer des logs du poste uniquement si la TS échoue.

Pour cela, nous devons savoir quand elle échoue.


Nous allons procéder comme ci-dessous :

1. A chaque étape de votre TS allez dans la partie Options

2. Décochez Continue on error

3. Allez à la fin de votre TS

4. Cliquez sur Add > New group

5. Tapez un nom

6. Sur ce groupe, allez dans Options

7. Configurez _SMSTSLastActionSucceeded sur False



Implémenter dans la séquence de tâches

1. Modifiez votre séquence de tâches

2. Accédez au groupe Envoyer les journaux en cas d'échec

3. Cliquez sur Add > General > Run PowerShell script


4. Dans la partie package, cherchez votre package

5. Dans le nom du script, saisissez Send_TSLogs_to_SharePoint.ps1

6. Dans Execution policy, choisissez Bypass


L'étape suivante consiste à spécifier comment s'authentifier auprès de l'application SharePoint.

Nous allons configurer deux variables pour stocker à la fois l'ID et le secret de l'application.


Nous allons procéder comme ci-dessous :

1. Aller au début de votre TS

2. Cliquez sur Add > General > Set Dynamic Variables


3.Cliquez sur Add Variable

4. Cliquez sur Custom variable


5. Tapez TS_Sharepoint_App_ID

6. Cochez Do not display the value

7. Dans Value et Confirm value, saisissez l'ID d'application SharePoint


8. Cliquez sur Add Variable

9. Cliquez sur Custom variable


10. Tapez TS_Sharepoint_App_Secret

11. Cochez Do not display the value

12. Dans Value et Confirm value, saisissez le secret SharePoint


Envoyer une notification sur Teams

Là nous choisirons si nous voulons envoyer une notif sur Teams en cas d'échec pour informer que les logs sont disponibles.

La notification des équipes donnera ci-dessous les informations :

- Nom de l'appareil

- Nom ZIP du log


Nous allons procéder comme ci-dessous :

1. Aller au début du TS

2. Cliquez sur Add > General > Set Dynamic Variables

3. Cliquez sur Add Variable

4. Cliquez sur Custom variable

5. Dans Variable, saisissez TS_Send_Teams_Notif

6. Dans Value, tapez True ou False