71 lines
1.6 KiB
Markdown
71 lines
1.6 KiB
Markdown
# AdToBrevo PowerShell Scripts
|
||
|
||
## Description
|
||
|
||
Scripts PowerShell pour synchroniser les groupes et utilisateurs d'Active Directory avec Brevo via l'API.
|
||
|
||
Inclut un service de logging avec rotation automatique des fichiers de log.
|
||
|
||
|
||
## Structure du projet
|
||
|
||
AdToBrevo/
|
||
|
||
│
|
||
|
||
├─ modules/
|
||
|
||
│ ├─ AdService.ps1 # Fonctions pour récupérer les utilisateurs et emails depuis AD
|
||
|
||
│ ├─ ApiService.ps1 # Fonctions pour interagir avec l'API Brevo
|
||
|
||
│ └─ LogService.ps1 # Service de logging avec rotation des fichiers
|
||
|
||
│
|
||
|
||
├─ logs/ # Dossier de logs (ignoré par Git)
|
||
|
||
├─ groups.json # Configuration des groupes à synchroniser
|
||
|
||
├─ app.ps1 # Script principal de synchronisation
|
||
|
||
└─ .gitignore # Ignorer fichiers temporaires et logs
|
||
|
||
|
||
## Prérequis
|
||
|
||
- PowerShell 5.1 ou supérieur
|
||
- Module **ActiveDirectory**
|
||
- Clé API Brevo valide
|
||
|
||
|
||
## Configuration
|
||
|
||
1. Définir la clé API dans un fichier config.env à la racine du projet:
|
||
|
||
```powershell
|
||
API_KEY=xxxxx
|
||
```
|
||
|
||
2. Mettre à jour `groups.json` avec vos groupes AD et leurs correspondances Brevo :
|
||
|
||
```json
|
||
[
|
||
{ "Nom": "groupe_1", "Id": "1" },
|
||
{ "Nom": "groupe_2", "Id": "2" },
|
||
{ "Nom": "...", "Id": ".." }
|
||
]
|
||
```
|
||
|
||
Le champ **Nom** doit correspondre à l’attribut displayName de l’ActiveDirectory. Le champ **Id** correspond au champ id de la liste, visible dans l’interface de Brevo.
|
||
|
||
1. Les logs sont créés dans le dossier `logs` avec rotation quotidienne et suppression après 5 jours.
|
||
|
||
|
||
## Usage
|
||
|
||
1. Exécuter le script principal:
|
||
|
||
```json
|
||
.\app.ps1
|
||
``` |