• Labs icon Lab
  • Core Tech
Google Cloud Platform icon
Labs

Build a Bandwidth Monitoring Tool with iPerf and PowerShell

In this lab, you'll practice creating a bandwidth monitoring tool using iPerf and PowerShell. When you’re finished, you’ll have a PowerShell module capable of deploying iPerf and retrieving statistics.

Google Cloud Platform icon
Labs

Path Info

Level
Clock icon Beginner
Duration
Clock icon 1h 25m
Published
Clock icon Oct 17, 2024

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    Getting Started in the Lab Environment

    Here are the initial instructions and explanation of the lab environment. Read this while your environment is busy creating itself from nothing. Yes, this violates physics; we know. How fun!

  2. Challenge

    Set up iPerf and Test it Out

    In this challenge, you'll be stepping through the process of setting up the iPerf tool to monitor bandwidth. You'll get hands-on practice with PowerShell Remoting, copying files to a remote server, running a quick test with iPerf, and cleaning up afterward. By the end of this challenge, you'll have a working iPerf instance running on the remote server, allowing you to understand how to perform real-time network bandwidth measurements.

  3. Challenge

    Run a Bandwidth Check w/PowerShell

    Now that you’ve gotten a taste of what iPerf is and how to use it, you’ll begin integrating PowerShell into the mix. In this challenge, you will begin “wrapping” PowerShell around iPerf to invoke a bandwidth test.

  4. Challenge

    Build Server Check Functionality

    When thinking of automating iPerf bandwidth tests, it’s important to build “conditional code.” This is the kind of code that checks the status of processes to make intelligent decisions as to what to do next. For this tool, you must build functionality to test whether or not iPerf is running on a remote server.

  5. Challenge

    Parse Out a Single Bandwidth Number

    You’ve been invoking bandwidth tests and inspecting the results throughout this lab. But those results are just a big string of unstructured data. To build a PowerShell tool (especially a wrapper tool like this one), you should always focus on converting the unstructured data that CLI commands give you into easily consumable output.

  6. Challenge

    Build a Comprehensive PowerShell Module

    Now it’s time to wrap all of this hard work up with a nice bow, and build a nice PowerShell module from it.

Adam Bertram is an independent consultant, technical writer, trainer, and presenter. Adam specializes in consulting and evangelizing all things IT automation, mainly focused around Windows PowerShell.

What's a lab?

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.