PowerShellテストポートツールを構築する方法について詳しく見ていきましょう。このツールを使用すると、ポート番号とラベルによるオープンポートのテストができます。
サーバーの半分でスクリプトが失敗しない堅牢なスクリプトを構築するためには、最初に望む結果を得るために必要な前提条件が満たされていることを確認することが重要です。
これらの前提条件はFTP、HTTP、DCOM、WMI、WSMANなどのサービスです。サーバーに接続しようとしている接続は、通常、これらのサービスに依存します。
接続を試みる前に、サーバー上で様々なレイヤーのチェックを実行する階層があります。どれだけ厳密にチェックするかによって、実行するチェックの数が異なります。
まず、ネットワーク側でOSIスタック全体をトラバースする必要があります。これには、スクリプトを実行しているホストシステム上のサービスやリモートホストシステム上の他のすべてのものは含まれません。
リモートサーバーにクエリを実行する際に最初に行うテストの1つは、適切なネットワークポートが開かれていてアクセス可能であることを確認することです。リモートサーバーで実行されているサービスによって、クエリする必要のあるポートが異なります。
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.
このTechnetのスクリプトの助けを借りて、TCPおよびUDPポートが開いているかどうかをテストするだけでなく、サーバーロールによるポートグループのテストを行うことができる便利なPowerShell関数を作成しました。サービスごとにどのポートを使用するかを毎回Googleで検索する必要はありません!
特に、Active Directoryについては、サーバーのOSによってポートが異なる場合や、ドメインコントローラー上のさまざまなサービスによっても異なる場合があります。環境に合わせて必要に応じて調整してください。
以下に、使用例のスクリーンショットを示します。

ご覧のように、任意の数のサーバーを指定でき、それぞれのコンピューターのサービスポートグループとポートごとに素敵なリストを出力できます。これまで非常に便利に使ってきました!あなたも私のように役立てていただければ幸いです!