Plongeons dans la façon de construire un outil de test de port PowerShell qui vous permet de tester les ports ouverts par numéro de port et par libellé.
Pour construire un script robuste qui ne va pas s’effondrer et échouer sur la moitié de vos serveurs, il est important de s’assurer d’abord que les prérequis nécessaires pour obtenir votre résultat final sont satisfaits.
Quels sont ces prérequis ? Les prérequis sont des services tels que FTP, HTTP, DCOM, WMI, WSMAN, etc. La connexion que vous essayez d’établir avec un serveur dépend généralement de services comme ceux-ci.
Il existe une hiérarchie de plusieurs niveaux de vérifications que vous pouvez effectuer sur vos serveurs avant de tenter une connexion, selon le degré de précision souhaité.
Pour commencer, vous avez toute la pile OSI à traverser du côté réseau. Cela n’inclut pas les services sur le système hôte à partir duquel vous exécutez le script et tout le reste sur le système hôte distant.
Un des premiers tests que vous devez effectuer lors de l’interrogation d’un serveur distant consiste à vérifier que les ports réseau appropriés sont ouverts et accessibles. Selon les services exécutés sur le serveur distant, les ports à interroger peuvent varier.
I always used to either not even attempting to test port connections or fumbling around with finding that latest Test-Port script I had scavenged somewhere. Once I found it to figure out what ports I actually needed to a test ahead of time. Today was the final straw.
I needed to query a set of domain controllers before running some CIM queries against them. I went about my normal fumbling around and decided enough was enough and sat down and built my own, fully featured port testing script.
Grâce à l’aide de ce script Technet, j’ai réussi à créer une paire de fonctions PowerShell assez bonnes qui vous permettront non seulement de tester les ports TCP et UDP ouverts, mais aussi de tester des groupes de ports par rôle de serveur. Plus besoin de chercher sur Google à chaque fois pour savoir quels ports sont utilisés par quel service !
Accordé, surtout pour Active Directory, les ports peuvent varier en fonction du système d’exploitation du serveur, des différents services sur un contrôleur de domaine, etc. N’hésitez pas à les ajuster selon les besoins de votre environnement.
Voici une capture d’écran d’un exemple d’utilisation:

Comme vous pouvez le voir, vous pouvez spécifier autant de serveurs que vous le souhaitez, et il générera une belle liste d’objets répartis par groupe de ports de service et le port pour chaque ordinateur. Jusqu’à présent, cela m’a été très utile ! J’espère que vous en tirerez autant de profit que moi !