Files
comi-deploy-waptagentgpo/README.md
T

5.9 KiB

comi-deploy-waptagentgpo

Crée ou met à jour une GPO de déploiement de l'agent WAPT par tâche planifiée.

Avant de lancer le script

Sur un contrôleur de domaine ou un poste du domaine équipé des outils RSAT :

  1. Ouvrir Windows PowerShell 5.1 avec élévation, avec un compte disposant des droits de création/modification des GPO et d'écriture dans NETLOGON et SYSVOL. Pour la liaison, le compte doit aussi pouvoir lier une GPO à l'OU cible.
  2. Placer waptagent.exe, généré depuis la console WAPT, dans le même dossier que Deploy-WaptAgentGpo.ps1. Un fichier waptsetup*.exe ne le remplace pas.
  3. Placer également waptdeploy.exe dans ce dossier, ou laisser le script le télécharger depuis le serveur WAPT.
  4. Se placer dans le dossier du script. Les modules GroupPolicy et ActiveDirectory doivent être disponibles et le serveur WAPT accessible en HTTPS sur le port 443.

Dans les commandes suivantes, remplacer 10.0.0.10 par l'adresse IPv4 du serveur WAPT et le DN de l'OU par celui de votre domaine.

Possibilité 1 — Créer la GPO et la lier à une OU

Commande à lancer :

.\Deploy-WaptAgentGpo.ps1 -WaptServerIP 10.0.0.10 -TargetOU "OU=Postes,DC=mydomain,DC=lan"

Le script crée ou met à jour la GPO WAPT-Deploiement-Agent, puis crée un lien activé sur l'OU indiquée si ce lien n'existe pas déjà. L'OU doit exister et contenir les ordinateurs à cibler, directement ou par héritage.

Si la création du lien est refusée, la GPO reste créée ou mise à jour ; le script signale un avertissement. La liaison peut alors être effectuée dans la console Gestion de stratégie de groupe (GPMC) avec un compte disposant des droits nécessaires.

Possibilité 2 — Créer la GPO sans préciser d'OU

Commande à lancer :

.\Deploy-WaptAgentGpo.ps1 -WaptServerIP 10.0.0.10

Cette commande crée la GPO sans liaison si le conteneur par défaut des ordinateurs est un conteneur tel que CN=Computers. La GPO peut ensuite être liée manuellement à l'OU souhaitée dans GPMC : clic droit sur l'OU, puis Lier un objet de stratégie de groupe existant, et sélectionner WAPT-Deploiement-Agent.

Attention : si le conteneur par défaut des ordinateurs a été redirigé vers une OU, le script lie automatiquement la GPO à cette OU, même sans -TargetOU. La version actuelle ne propose pas de paramètre pour forcer une création sans liaison. Elle ne supprime pas non plus les liens d'une GPO existante.

Pour connaître le conteneur par défaut avant de choisir cette commande :

(Get-ADDomain).ComputersContainer

Vérifier la ligne Liaison du récapitulatif final : (aucune) indique qu'aucune liaison n'a été effectuée ou reconnue par cette exécution. Cela ne constitue pas un inventaire des liens préexistants sur d'autres OU.

Ce que configure le script

  • Détecte le domaine et utilise son contrôleur PDC pour les écritures.
  • Recherche le nom du serveur WAPT dans son certificat HTTPS, puis dans le DNS inverse, et vérifie sa résolution DNS.
  • Calcule le SHA256 et lit la version de waptagent.exe. Il compare le hash avec la copie du serveur lorsqu'elle est téléchargeable ; une différence bloque l'exécution.
  • Utilise le waptdeploy.exe local ou le télécharge. Un téléchargement est rejeté si sa signature Authenticode Tranquil IT n'est pas valide ; une signature locale non vérifiée produit un avertissement.
  • Copie les deux exécutables dans NETLOGON et configure leur copie sur les postes vers C:\Windows\SystemTemp par défaut.
  • Écrit les préférences Fichiers et Tâche planifiée de la GPO dans SYSVOL, met à jour les extensions et la version de la GPO, et désactive sa partie utilisateur.
  • Configure la tâche WAPT - waptdeploy sous SYSTEM, avec les privilèges les plus élevés, un déclenchement quotidien et une répétition toutes les heures pendant une journée.

La tâche appelle waptdeploy.exe avec le hash de l'agent, sa version minimale, un délai --wait de 15 minutes par défaut et le chemin local de waptagent.exe.

Paramètres utiles

Paramètre Utilisation
-WaptServerIP Adresse IPv4 du serveur WAPT ; obligatoire.
-TargetOU DN de l'OU à laquelle lier la GPO ; comportement automatique si absent, décrit ci-dessus.
-SourceFolder Dossier des exécutables ; dossier du script par défaut. Les journaux y sont également créés.
-MinVersion Version minimale à imposer ; lue dans waptagent.exe par défaut. À préciser si elle ne peut pas être lue.
-GpoName Nom de la GPO ; WAPT-Deploiement-Agent par défaut.
-TaskName Nom de la tâche ; WAPT - waptdeploy par défaut.
-LocalFolder Dossier de destination sur les postes ; C:\Windows\SystemTemp par défaut. Vérifier sa présence sur les postes ciblés.
-WaitMinutes Valeur transmise à --wait ; de 1 à 120, avec 15 par défaut.

Journaux et vérification

Le journal est enregistré dans logs\Deploy-WaptAgentGpo_yyyyMMdd_HHmmss.log, sous le dossier des exécutables.

Code retour Signification
0 Succès sans avertissement.
2 Exécution terminée avec avertissements : GPO non liée, DNS à vérifier, comparaison avec le serveur impossible, etc. Relire le journal.
1 Erreur ; consulter le journal pour identifier les étapes déjà réalisées.

Après liaison et réplication de la GPO, vérifier sur un poste ciblé, dans PowerShell avec élévation :

gpupdate /force
Get-ScheduledTask -TaskName 'WAPT - waptdeploy' | Format-List TaskName, State, Principal

Adapter le nom de la tâche si -TaskName a été utilisé.

Après chaque régénération de waptagent.exe, remplacer le fichier source et relancer la commande choisie pour actualiser les exécutables et le hash dans la GPO. Une GPO portant déjà le nom demandé est mise à jour.