Featured resource
2025 Tech Upskilling Playbook
Tech Upskilling Playbook

Build future-ready tech teams and hit key business milestones with seven proven plays from industry leaders.

Check it out
  • Lab
    • Libraries: If you want this lab, consider one of these libraries.
    • 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
Lab platform
Lab Info
Level
Beginner
Last updated
Jul 30, 2025
Duration
1h 25m

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.

About the author

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.

Real skill practice before real-world application

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.

Learn by doing

Engage hands-on with the tools and technologies you’re learning. You pick the skill, we provide the credentials and environment.

Follow your guide

All labs have detailed instructions and objectives, guiding you through the learning process and ensuring you understand every step.

Turn time into mastery

On average, you retain 75% more of your learning if you take time to practice. Hands-on labs set you up for success to make those skills stick.

Get started with Pluralsight