Agence web » Actualités du digital » Qu'est-ce que le test d'infrastructure et comment le faire avec PowerShell

Qu'est-ce que le test d'infrastructure et comment le faire avec PowerShell

Comme nous essayons tous d'en faire plus avec moins avec l'automatisation, nous arrivons parfois à un point où nous avons un nouveau problème. Nous exécutons maintenant tellement de scripts et de processus que, finalement, nous ne savons pas à quoi ressemble le «fait»

Si nous exécutons un script de configuration d’utilisateur qui crée un utilisateur AD (Active Directory), une boîte aux lettres Exchange ou un dossier de départ, comment savons-nous vraiment que le script a fait tout ce qu’il était censé faire? Non. Nous pouvons remarquer qu'il n'y a pas eu d'erreur et que nous avons également vérifié les choses par la suite. Mais si le script couvre 1 000 utilisateurs, il est impossible que cela soit possible. Nous devons également utiliser l'automatisation des tests!

Qu'est-ce que le test d'infrastructure?

Une façon d'automatiser ce type de test consiste à utiliser ce que l'on appelle généralement le test d'infrastructure. Qu'est-ce que le test d'infrastructure? Cela signifie tout code qui lit les valeurs de configuration de diverses choses dans l'environnement informatique et les compare aux valeurs attendues.

Voici quelques exemples de tests d'infrastructure:

  • "Cet utilisateur AD a-t-il été créé avec les bons attributs?"
  • "Le port 80 répond-il sur mon serveur Web?"
  • "Le service DHCP fonctionne-t-il?"

La discussion sur les tests d'infrastructure est beaucoup plus importante que nous n'en avons le temps dans un seul article, mais je peux vous donner une longueur d'avance. Lorsque vous commencez à écrire ces tests, vous remarquerez des modèles; vous allez commencer à réaliser que vous écrivez à plusieurs reprises le même type de code, juste appliqué à différentes choses. Plutôt que de copier et coller tout le temps, vous pouvez partager ce code sous la forme d'un script ou d'une fonction PowerShell.

Passons en revue quelques exemples courants de scripts que j'utilise pour m'aider à assurer que mon infrastructure est configurée correctement.

Test d'un port réseau

Un exemple typique de test d'infrastructure consiste à tester un port réseau. Étant donné que tous les services réseau s'ouvrent et écoutent sur un port particulier, un véritable test pour savoir si ce service est «actif» ou non consiste à confirmer qu'un port spécifique est disponible pour les ordinateurs distants. Pour construire ce test, cependant, nécessite une bonne quantité de connaissances sur TCP, UDP et .NET. Heureusement, vous pouvez utiliser un script existant de la communauté appelé Test-NetworkPort.ps1. Ce script peut être téléchargé à partir de la galerie PowerShell en exécutant Install-Script -Name Test-NetworkPort.

Une fois téléchargé, appelez-le simplement en utilisant Test-NetworkPort.ps1 et passez un nom et un port d'ordinateur à tester.

PS > Test-NetworkPort.ps1 -ComputerName DC -Port 389
True

Selon que le port écoute ou non, ce script retournera True ou False. Vous pouvez explorer d'autres paramètres de ce script en lisant l'aide qui lui est associée via Get-Help Test-NetworkPort.ps1.

Ce script effectue une tester sur le Infrastructure écoute sur un port particulier.

Test de la résolution de noms DNS

Lorsque vous lancez une nouvelle machine, que vous vous appuyiez sur un DNS dynamique pour enregistrer le nom ou que vous créiez explicitement un enregistrement DNS, vous devrez vous assurer que son nom peut être résolu. Avec PowerShell, vous pouvez utiliser un script qui tente de résoudre un nom particulier et de retourner True ou False s'il peut être résolu ou non.

Comme avec notre exemple de test de port, nous pouvons également télécharger ce script depuis la galerie PowerShell via Install-Script -Name Test-DnsNameResolution.

Une fois le téléchargement terminé, appelez simplement Test-DnsNameResolution.ps1 avec le nom et le serveur DNS que vous souhaitez interroger.

PS> Test-DnsNameResolution.ps1 -Name DC.mylab.local -Server DC
False

Si le script revient True, le serveur DNS DC peut résoudre le nom de DC.mylab.local. Sinon, il serait revenu False.

Conclusion

Les exemples fournis ici ne sont que deux parmi des milliers. Le but de cet article n'est pas de vous montrer Comment pour effectuer des tests d'infrastructure mais plus pour vous guider dans la création du vôtre.

Pour créer des tests d'infrastructure bien développés, il faut d'abord définir ce que signifie être «opérationnel» ou «attendu», créer un script PowerShell pour trouver l'état actuel et attendu, et prendre une décision à partir de là.

Ne continuez pas à confirmer manuellement que votre infrastructure fonctionne comme prévu. Construisez des scripts PowerShell et automatisez ces processus banals pour vous!

★★★★★