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

Contenu

Logo Powershell

Comment nous essayons tous de faire plus avec moins avec l'automatisation, parfois nous arrivons à un point où nous avons un nouveau problème. Maintenant, nous exécutons tellement de scripts et de processus que, à la fin, nous ne sommes pas sûrs de ce à quoi cela ressemble “Fait”

Si nous exécutons un script de provisionnement d'utilisateurs 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? Nous ne pouvons pas remarquer qu'une erreur n'a pas été renvoyée et nous vérifions également les choses par la suite. Mais si le script couvre 1,000 utilisateurs, il n'y a aucun moyen que ce soit viable. 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 les tests 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.

Quelques exemples de tests d'infrastructure incluent:

  • “cet utilisateur de l’annonce a-t-il été créé avec les attributs appropriés?”
  • “Le port 80 répondre sur mon serveur web?”
  • “Le service DHCP est-il en cours d’exécution ??”

La discussion sur les tests d'infrastructure est beaucoup plus importante que nous n'avons le temps dans un seul message, mais je peux te donner une longueur d'avance. Lorsque vous commencez à écrire ces tests, vous commencerez à remarquer des motifs; vous commencerez à réaliser que vous écrivez à plusieurs reprises le même type de code, juste appliqué à différentes choses. Au lieu 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 de scripts courants que j'utilise pour m'assurer que mon infrastructure est correctement configurée.

Tester un port réseau

Un exemple typique de test d'infrastructure consiste à tester un port réseau. Parce que tous les services réseau s'ouvrent et écoutent sur un port particulier, une preuve réelle de la question de savoir si ce service est “actif” ou ne confirme pas qu’un port spécifique est activé pour les ordinateurs distants. Malgré cela, pour construire ce test, une bonne connaissance de TCP est nécessaire, UDP et .NET. Par chance, vous pouvez utiliser un script de communauté existant appelé Test-NetworkPort.ps1. Ce script peut être téléchargé à partir du Galerie PowerShell par l'exécution Install-Script -Name Test-NetworkPort.

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

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

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

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

Test de résolution de nom DNS

Lors de l'ouverture d'une nouvelle machine, si vous comptez sur le DNS dynamique pour enregistrer le nom ou si vous créez explicitement un enregistrement DNS, vous devrez vous assurer que votre nom peut être résolu. Avec PowerShell, vous pouvez utiliser un script qui essaie de corriger un nom particulier et de retourner True O False si ça peut être résolu ou pas.

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

Lorsque le téléchargement est terminé, il suffit d'appeler Test-DnsNameResolution.ps1 avec le nom et le serveur DNS que vous souhaitez consulter.

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

Si le script retourne True, le serveur DNS courant continu peut résoudre le nom de DC.mylab.local. Mais, j'aurais retourné False.

conclusion

Les exemples fournis ici ne sont que deux sur des centaines. Le but de cet article n'est pas de vous montrer pardon pour les tests d'infrastructure, mais plus pour vous guider dans la création de votre propre.

Pour créer des tests d'infrastructure bien développés, tout d’abord, il est nécessaire d’établir ce que signifie être “actif” O “attendu”, créer un script PowerShell pour trouver l'état actuel et attendu et faire un choix à partir de là.

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

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.