Tipp: PowerShell & Azure: Alle offenen Ports in einer Subscription auflisten

Wie kann man schnell und einfach alle öffentlichen Ports ermitteln, über die man VMs im eigenen Azure-Abonnement erreichen kann? Der dafür notwendige PowerShell-Befehl ist Get-AzureEndpoint, der für eine gegebene VM alle Endpunkte zurückgibt. Das heißt, wir müssen nur Get-AzureEndpoint für alle VMs im aktuellen Abonnement ausführen.

Beispiel 1 zeigt den einfachsten Ansatz, für alle VMs die Endpunkte zu ermitteln.

Damit haben wir nun alle Ports, die in unserem Azure-Abonnement zum Internet hin geöffnet sind, aber übersichtlich ist das noch nicht. Außerdem sieht man nicht, zu welchem Cloud-Dienst und zu welcher VM die Endpunkte gehören. Machen wir die Ausgabe also übersichtlicher.

Beispiel 2 erweitert Beispiel 1 und formatiert die Ausgabe auf die nur notwendigen Informationen.

Möchten wir jetzt auch noch die dazugehörigen Cloud-Dienste und VM-Namen, wird das PowerShell-Skript geringfügig komplexer. Dafür ist die Ausgabe jetzt allerdings in unserem Sinne vollständig.

Beispiel 3 kombiniert Informationen aus den VMs und den Endpunkten, um eine vollständige und übersichtliche Liste zu erzeugen.

English summary: Those PowerShell samples show how to list all open endpoints (ports) together with cloud service name and VM name in the current Azure subscription.