Was sind Infrastrukturtests und wie wird sie mit PowerShell durchgeführt??

Inhalt

Powershell-Logo

Wie wir alle versuchen, mit Automatisierung mehr mit weniger zu erreichen, Manchmal kommen wir an einen Punkt, an dem wir ein neues Problem haben. Jetzt führen wir so viele Skripte und Prozesse aus, dass, schlussendlich, wir sind nicht sicher, wie es aussieht “getan”

Wenn wir ein Benutzerbereitstellungsskript ausführen, das einen AD-Benutzer erstellt (Active Directory), ein Exchange-Postfach oder ein privater Ordner, Woher wissen wir wirklich, dass das Drehbuch alles getan hat, was es tun sollte?? Wir können nicht feststellen, dass ein Fehler nicht geworfen wurde und überprüfen die Dinge auch nachträglich. Aber wenn das Skript abdeckt 1,000 Benutzer, es ist auf keinen fall lebensfähig. Wir brauchen auch Testautomatisierung!!

Was sind Infrastrukturtests??

Eine Möglichkeit, diese Art von Tests zu automatisieren, sind sogenannte Infrastrukturtests.. Was sind Infrastrukturtests?? Damit ist jeder Code gemeint, der die Konfigurationswerte verschiedener Dinge in der IT-Umgebung liest und mit den erwarteten Werten vergleicht.

Einige Beispiele für Infrastrukturtests umfassen:

  • “Wurde dieser AD-Benutzer mit den richtigen Attributen erstellt??”
  • “Hafen 80 auf meinem Webserver antworten?”
  • “Läuft der DHCP-Dienst?”

Die Diskussion über Infrastrukturtests ist viel größer, als wir in einem einzigen Beitrag Zeit haben, aber ich kann dir einen Vorsprung verschaffen. Wenn Sie mit dem Schreiben dieser Tests beginnen, Du wirst anfangen Muster zu bemerken; Sie werden feststellen, dass Sie immer wieder die gleiche Art von Code schreiben, nur auf verschiedene dinge angewendet. Anstatt ständig zu kopieren und einzufügen, Sie können diesen Code in Form eines PowerShell-Skripts oder einer PowerShell-Funktion teilen.

Lassen Sie uns einige gängige Skriptbeispiele durchgehen, die ich verwende, um sicherzustellen, dass meine Infrastruktur richtig eingerichtet ist.

Testen eines Netzwerkports

Ein typisches Beispiel für einen Infrastrukturtest ist das Testen eines Netzwerkports. Weil alle Netzwerkdienste einen bestimmten Port öffnen und abhören, ein echter Test, ob dieser Service ist “aktiv” oder bestätigt nicht, dass ein bestimmter Port für Remotecomputer aktiviert ist. Trotz dieses, um diesen Test zu bauen, gute Kenntnisse über TCP sind erforderlich, UDP und .NET. Glücklicherweise, Sie können ein vorhandenes Community-Skript namens . verwenden Test-NetworkPort.ps1. Dieses Skript kann von der heruntergeladen werden PowerShell-Galerie durch Ausführung Install-Script -Name Test-NetworkPort.

Einmal heruntergeladen, ruf ihn einfach mit an Test-NetworkPort.ps1 und übergeben Sie einen Computernamen und Port zum Testen.

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

Je nachdem, ob der Port lauscht oder nicht, dieses Skript wird zurückkehren True Ö False. Sie können andere Parameter dieses Skripts erkunden, indem Sie die dazugehörige Hilfe durchlesen Get-Help Test-NetworkPort.ps1.

Dieses Skript führt Folgendes aus: nachweisen über ihn Infrastruktur Abhören auf einem bestimmten Port.

DNS-Namensauflösungstest

Beim Öffnen einer neuen Maschine, ob Sie sich auf dynamisches DNS verlassen, um den Namen zu registrieren, oder ob Sie explizit einen DNS-Eintrag erstellen, Sie müssen sicherstellen, dass Ihr Name aufgelöst werden kann. Con PowerShell, Sie können ein Skript verwenden, das versucht, einen bestimmten Namen zu korrigieren und zurückzukehren True Ö False ob es gelöst werden kann oder nicht.

Wie bei unserem Porttest-Beispiel, Wir können dieses Skript auch aus der PowerShell-Galerie herunterladen über Install-Script -Name Test-DnsNameResolution.

Wenn der Download abgeschlossen ist, Ruf einfach an Test-DnsNameResolution.ps1 mit dem Namen und dem DNS-Server, den Sie konsultieren möchten.

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

Wenn das Skript zurückkehrt True, der DNS-Server DC kann den Namen von . lösen DC.mylab.local. Aber, ich wäre zurückgekehrt False.

Fazit

Die hier aufgeführten Beispiele sind nur zwei von Hunderten. Der Zweck dieses Beitrags ist es nicht, es dir zu zeigen Verzeihung für Infrastrukturtests, aber mehr, um Sie bei der Erstellung Ihrer eigenen zu unterstützen.

Um gut entwickelte Infrastrukturtests zu erstellen, zuerst ist es notwendig festzustellen, was es bedeutet zu sein “aktiv” Ö “erwartet”, Erstellen Sie ein PowerShell-Skript, um den aktuellen und den erwarteten Zustand zu ermitteln und von dort aus eine Auswahl zu treffen.

Bestätigen Sie nicht weiterhin manuell, dass Ihre Infrastruktur wie erwartet funktioniert. Beginnen Sie mit der Erstellung einiger PowerShell-Skripte und automatisieren Sie diese alltäglichen Prozesse für Sie!!

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.