Retour à l'accueil

PowerShell GUI pour le support technique AD

L'article décrit le développement d'une PowerShell GUI pour automatiser les tâches de support technique dans le domaine AD. L'outil extrait le nom d'hôte, diagnostique les PC et effectue des opérations à distance. Il a été utilisé pendant 3 ans par une équipe de 15 spécialistes.

PowerShell GUI : automatisation du support technique dans AD
Advertisement 728x90

# # Automatisation du support IT avec une GUI PowerShell : Expérience de développement interne

Dans un domaine Active Directory gérant 4 000 à 5 000 postes de travail Windows 7–10, les tickets de support arrivaient sans adresses IP ni noms d'hôtes. Accéder aux informations d'un PC utilisateur nécessitait des recherches manuelles dans ADUC : copier le nom d'utilisateur depuis le ticket, naviguer dans la console et extraire le nom d'hôte depuis le champ Description du compte. Cela ralentissait le traitement, surtout pour recueillir les configurations matérielles ou gérer des tâches courantes sans accès distant.

La solution : un script PowerShell personnalisé avec une interface graphique. Saisissez un nom d'utilisateur, et l'outil récupère le nom d'hôte depuis AD, collecte les détails du compte et du PC, et propose des boutons pour les actions. Les résultats s'affichent dans une seule fenêtre : panneau supérieur pour les informations, milieu pour les boutons fonctionnels, bas pour la sortie.

Le script a été développé de toutes pièces sur la base d'une analyse de l'interface GUI open-source LazyWinAdmin (2011), adaptée à un environnement d'entreprise. Cela a garanti la sécurité, l'adaptation aux tâches spécifiques et une expérience pratique de PowerShell au niveau d'un développeur intermédiaire.

Google AdInline article slot

Fonctionnalités clés de l'outil

L'outil couvrait les scénarios quotidiens de support IT. Il nécessitait des droits administrateur sur tous les PC du domaine et un accès réseau (WinRM, SMB, ICMP).

Voici les fonctionnalités principales :

  • Recherche et données depuis AD : nom d'hôte par nom d'utilisateur, dernière connexion, expiration du mot de passe, ping vers le nom d'hôte, nom complet, téléphone, ID employé, appartenances aux groupes.
  • Accès distant : MSRA, Dameware, RDP — au choix.
  • Diagnostics matériels : configuration du PC (Get-WmiObject Win32_ComputerSystem, Win32_Processor, etc.), état S.M.A.R.T. des disques durs.
  • Administration : lancer mmc « Gestion de l'ordinateur » avec droits élevés, PS Remoting, cmd avec droits admin, redémarrage/arrêt.
  • Maintenance : nettoyer les fichiers temporaires (sans GPO), calculer l'espace pour les profils locaux/itinerants, copier les installateurs de logiciels.
  • Logiciels et quotas : liste des logiciels installés (Get-WmiObject Win32_Product), taille de la boîte aux lettres Exchange.
  • Fonctionnalités spéciales : reconfigurer les règles du Pare-feu Windows, ajustements de registre pour périphériques, envoyer des messages au PC, référence de résolution de ticket.
  • Opérations groupées : exports AD (membres de groupe, employés par poste), ajout à des groupes.

L'implémentation reposait sur les modules ActiveDirectory, WMI/CIM et WinRM. La GUI était construite sur Windows Forms (Add-Type -AssemblyName System.Windows.Forms), avec un TextBox pour la saisie du nom d'utilisateur, un DataGridView pour la sortie et des Buttons pour les actions.

Google AdInline article slot

Développement et améliorations

Initialement, le script gérait les recherches de noms d'hôtes. Les fonctionnalités ont été ajoutées progressivement au fil des tâches courantes : des diagnostics à l'automatisation des installations logicielles. Le principe directeur : des opérations en un clic avec journalisation dans la GUI.

Exemple de logique pour le nom d'hôte :

$username = $textboxLogin.Text
$user = Get-ADUser -Identity $username -Properties Description
$hostname = $user.Description

Pour l'inventaire matériel :

Google AdInline article slot
Invoke-Command -ComputerName $hostname -ScriptBlock { Get-WmiObject Win32_Processor | Select Name, NumberOfCores }

L'outil a servi une équipe de 15 spécialistes pendant 3 ans, accélérant la résolution des tickets. Limites : dépendance aux droits admin, pas d'alternatives logicielles domestiques disponibles au déploiement.

Enseignements principaux

  • Le script a réduit le temps de recherche de données de minutes à secondes, minimisant le travail manuel dans ADUC.
  • Couvre 80 % des tâches de niveau 2 courantes sans connexion au PC.
  • Nécessite des droits admin complets sur le domaine ; les fonctionnalités sont limitées en environnements restreints.
  • Basé sur PowerShell 5.1+ avec modules AD et WinRM activé.
  • Évolutif via des profils (ensembles de boutons différents par rôle).

— Editorial Team

Advertisement 728x90

Lire ensuite