Che cos'è il test dell'infrastruttura e come farlo con PowerShell?

Contenuti

Logo Powershell

Come tutti cerchiamo di fare di più con meno con l'automazione, a volte arriviamo a un punto in cui abbiamo un nuovo problema. Ora stiamo eseguendo così tanti script e processi che, alla fine, non siamo sicuri di come sia “fatto”

Se stiamo eseguendo uno script di provisioning utente che crea un utente AD (Directory attiva), una casella di posta Exchange o una cartella home, Come facciamo a sapere veramente che la sceneggiatura ha fatto tutto ciò che doveva fare?? Non possiamo notare che non è stato generato un errore e controlliamo anche le cose in seguito. Ma se lo script copre 1,000 utenti, non c'è modo che sia fattibile. Dobbiamo anche usare l'automazione dei test!!

Che cos'è il test dell'infrastruttura??

Un modo per automatizzare questo tipo di test è quello che è generalmente noto come test dell'infrastruttura.. Che cos'è il test dell'infrastruttura?? Significa qualsiasi codice che legge i valori di configurazione di varie cose nell'ambiente IT e li confronta con i valori previsti.

Alcuni esempi di test dell'infrastruttura includono:

  • “è stato creato dall'utente dell'annuncio con gli attributi appropriati?”
  • “Il porto 80 rispondi sul mio server web?”
  • “Il servizio DHCP è in esecuzione?”

La discussione sui test dell'infrastruttura è molto più ampia di quanto abbiamo tempo in un singolo post, ma posso darti un vantaggio. Quando inizi a scrivere questi test, inizierai a notare gli schemi; inizierai a renderti conto che stai scrivendo ripetutamente lo stesso tipo di codice, solo applicato a cose diverse. Invece di copiare e incollare tutto il tempo, puoi condividere questo codice sotto forma di script o funzione PowerShell.

Esaminiamo un paio di esempi di script comuni che utilizzo per assicurarmi che la mia infrastruttura sia configurata correttamente.

Testare una porta di rete

Un tipico esempio di test dell'infrastruttura è il test di una porta di rete. Perché tutti i servizi di rete si aprono e ascoltano su una porta particolare, una prova reale del fatto che tale servizio sia “attivo” Oppure non conferma che una porta specifica è abilitata per i computer remoti. Nonostante questo, per costruire questo test, è necessaria una buona conoscenza del TCP, UDP e .NET. fortunatamente, puoi usare uno script della comunità esistente chiamato Test-NetworkPort.ps1. Questo script può essere scaricato da Galleria PowerShell attraverso l'esecuzione Install-Script -Name Test-NetworkPort.

Una volta scaricato, chiamalo usando Test-NetworkPort.ps1 e passare un nome di computer e una porta da testare.

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

A seconda che la porta sia in ascolto o meno, questo script tornerà True oh False. Puoi esplorare altri parametri che questo script ha leggendo l'aiuto ad esso associato attraverso Get-Help Test-NetworkPort.ps1.

Questo script esegue un prova su di lui infrastruttura in ascolto su una porta particolare.

Test di risoluzione dei nomi DNS

Quando si apre una nuova macchina, se ti affidi al DNS dinamico per registrare il nome o se stai creando esplicitamente un record DNS, dovrai assicurarti che il tuo nome possa essere risolto. Con PowerShell, puoi usare uno script che cerca di correggere un nome particolare e tornare True oh False se si può risolvere o no.

Come con il nostro esempio di test delle porte, possiamo anche scaricare questo script dalla PowerShell Gallery tramite Install-Script -Name Test-DnsNameResolution.

Quando il download è completo, chiama soltanto Test-DnsNameResolution.ps1 con il nome e il server DNS che si desidera consultare.

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

Se lo script ritorna True, il server DNS DC può risolvere il nome di DC.mylab.local. Ma, sarei tornato False.

conclusione

Gli esempi forniti qui sono solo due su centinaia. Lo scopo di questo post non è di mostrarvelo Mi scusi per i test delle infrastrutture, ma più per guidarti nella creazione del tuo.

Per creare test di infrastruttura ben sviluppati, in primo luogo è necessario stabilire cosa significa essere “attivo” oh “previsto”, creare uno script PowerShell per trovare lo stato corrente e previsto e fare una scelta da lì.

Non continuare a confermare manualmente che la tua infrastruttura funziona come previsto. Inizia a creare alcuni script PowerShell e automatizza i processi banali per te!!

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.