Wat Is Infrastructuur te Testen en Hoe te Doen met PowerShell

0
166

Als we allemaal proberen om meer te doen met minder, met automatisering, soms krijgen we op een punt waar we een nieuw probleem. We zijn nu dus veel scripts en processen die, in het einde, we zijn niet zeker wat “gedaan” eruit ziet

Als we het uitvoeren van een user provisioning-script dat maakt een AD (Active Directory) gebruiker een Exchange-mailbox of een persoonlijke map, hoe doen we echt weten dat script deed alles het was de bedoeling om? We weten het niet. We kunnen merken dat er niet een fout opgetreden en ook spot-check dingen daarna. Maar als het script is met betrekking tot 1.000 gebruikers, is er geen manier die haalbaar is. We moeten gebruik maken van test automation, ook!

Wat Is Infrastructuur Testen?

Een manier om het automatiseren van dit soort testen is met wat is losjes genoemd infrastructuur testen. Wat is infrastructuur testen? Het betekent dat alle code die wordt gelezen configuratie waardes van verschillende dingen in de IT-omgeving en vergelijkt ze met de verwachte waarden.

Enkele voorbeelden van infrastructuur testen zijn:

  • “Was dat AD-gebruiker aangemaakt met de juiste kenmerken?”
  • “Is poort 80 te reageren op mijn webserver?”
  • “Is de DHCP-service die draait?”

De infrastructuur-het testen van discussie is veel groter dan hebben we tijd om in één artikel, maar ik kan geven u een voorsprong. Als u beginnen met het schrijven van deze tests, zult u beginnen te zien van patronen; begin je te beseffen dat je herhaaldelijk schrijven van dezelfde soort code, slechts toegepast op verschillende dingen. Eerder dan het kopiëren en plakken van alle tijd die je kunt delen van deze code in de vorm van een PowerShell script of functie.

Laten we gaan over een paar veel voorkomende voorbeelden van scripts die ik gebruik om me te helpen ervoor dat mijn infrastructuur op de juiste manier is geconfigureerd.

Het testen van een Netwerk Poort

Een typisch voorbeeld van een infrastructuur test is het testen van een netwerk poort. Omdat alle diensten van het netwerk open te stellen en luisteren op een bepaalde poort, een echte test van als die service “up” is of niet, is om te bevestigen dat een bepaalde poort is beschikbaar op externe computers. Bij de bouw van deze test, echter, vereist een behoorlijke hoeveelheid kennis over TCP, UDP, en .NETTO. Gelukkig, kunt u gebruik maken van een bestaand script van de gemeenschap met de naam Test-NetworkPort.ps1. Dit script kan gedownload worden van het PowerShell Galerij door Install-Script -Naam Test-NetworkPort.

Eenmaal gedownload, gewoon bellen met behulp van Test-NetworkPort.ps1 en doorgeven van de naam van een computer en de poort om te testen.

PS > Test-NetworkPort.ps1 -Computernaam DC -Poort 389
Waar

Afhankelijk van of de poort luistert of niet, zal dit script return True of False. U kunt verkennen van andere parameters van dit script is door het lezen van de help met het via Get-Help-Test-NetworkPort.ps1.

Dit script voert een test uit op de infrastructuur luisteren op een bepaalde poort.

Het testen van de DNS-naamomzetting

Wanneer de opvoeding van een nieuwe machine, of het vertrouwen op dynamische DNS voor het registreren van de naam, of als u een DNS-record expliciet, je gaat nodig hebben om te zorgen dat de naam kan worden opgelost. Met PowerShell kunt u gebruik maken van een script dat pogingen tot het oplossen van een bepaalde naam en return True of False, als het kan worden opgelost of niet.

Net als bij onze poort te testen voorbeeld kunnen we ook download dit script uit de PowerShell Galerie en via de Install-Script -Naam Test-DnsNameResolution.

Wanneer het downloaden is voltooid, gewoon bellen Test-DnsNameResolution.ps1 met de naam en de DNS-server die u wilt opvragen.

PS> Test-DnsNameResolution.ps1 -Naam DC.mylab.lokale -Server DC
False

Als het script geeft True terug, de DNS-server DC kunt u de naam van de DC.mylab.lokale. Indien niet, zou het weer fout.

Conclusie

De voorbeelden hier zijn slechts twee uit duizenden. Het punt van dit artikel is niet om u te tonen hoe u voor het uitvoeren van infrastructuur testen, maar meer om u te begeleiden in het creëren van je eigen.

Voor het maken van een goed ontwikkelde infrastructuur tests vereist eerst definiëren wat het betekent om “up” of “verwacht”, het bouwen van een PowerShell script om de huidige en verwachte toestand, en om een beslissing te nemen en vanaf daar.

Ga niet handmatig bevestigen van uw infrastructuur werkt zoals u verwacht. Naar het opbouwen van een PowerShell-scripts en het automatiseren van die alledaagse processen voor u!