Call Us: +32 2 466 00 16
Follow Us:

Mastering PowerShell

5 days
5 days

Upcoming Sessions





Book now





Book now





Book now




Book now

Interested in a private company training? Request it here.

PowerShell Overview

PowerShell was first introduced in 2008 as a scripting language for Windows Server. Over the years it has evolved to an open-source, cross platform solution that can be used on Windows, Linux and macOS.

  • PowerShell Overview
  • Brushing up on objects
  • PowerShell Versions
  • Windows PowerShell versus PowerShell
  • Concepts and Terminology
  • Getting Commands
  • Getting Help
  • Providers and Drives
  • LAB: PowerShell Overview

PowerShell Shells

The Windows PowerShell Integrated Scripting Environment (ISE) is a script editor for Windows PowerShell that allows you to run commands and write, test, and debug scripts in a single graphical interface. In addition to the PowerShell ISE, PowerShell is also well-supported in Visual Studio Code with rich intellisense and advanced debugging features.

  • PowerShell Console
  • Integrated Scripting Environment (ISE)
  • Visual Studio Code
  • LAB:PowerShell Shells

Core Concepts

Using the pipe operator in PowerShell you can easily perform complex operations in a single line of code. Format cmdlets can be used to change the default output of a command and the Out comdlets allow you to send data to a text file or grid.

  • Viewing Object Structure
  • Object Pipeline
  • Using Format Cmdlets to Change Output
  • Export Data with Out Cmdlets
  • Using Variables to Store Objects
  • LAB: Core Concepts

Object Pipeline Processing

PowerShell contains a bunch of commands that allow you to manipulate your objects using the pipeline. These cmdlets will help you to filter, sort, group, ... any object.

  • Where-Object
  • Foreach-Object
  • Select-Object
  • Sort-Object
  • Measure-Object
  • Compare-Object
  • Group-Object
  • Tee-Object
  • LAB: Object Pipeline Processing

Working with Objects

PowerShell works mostly with .NET objects but also provides full access to COM and WMI.

  • Files and Folders
  • Registry Keys and Values
  • COM Objects
  • WMI Objects - CIMCmdlets
  • .NET Objects
  • Static Classes
  • LAB: Working with Objects

Extending PowerShell Functionality

A module is a set of related PowerShell functionalities, grouped together as a convenient unit (usually saved in a single directory). PowerShell Package Manager allows you to find, install and remove software all from within PowerShell from various repositories on the Internet.

  • Modules
  • Package Manager
  • PowerShell Gallery
  • PowerShell Profiles
  • Operators and Expressions
  • LAB: Extending PowerShell Functionality

PowerShell Security

The execution policy is part of the security strategy of PowerShell. It determines whether you can load configuration files and run scripts, and it determines which scripts, if any, must be digitally signed before they will run.

  • PowerShell Execution Policy
  • Script Signing
  • Security Sensitive Information in Scripts
  • LAB: PowerShell Security

PowerShell Remoting

PowerShell Remoting lets you run PowerShell commands or access full PowerShell sessions on remote systems.

  • PowerShell Remoting Overview
  • WS-Management (WSMAN)
  • Remote CIM Sessions
  • Import/Export Remoting Sessions
  • WinRM Security
  • WinRM Double Hop Problem
  • Using Variables in Remoting Sessions
  • LAB: PowerShell Remoting

PowerShell Jobs

Jobs are long-running tasks that are executed in the background. You don't have to wait for the job to finish and can perform other tasks while the job is running. Once completed, the job output can be retrieved. Jobs can be executed on a remote system or they can be scheduled.

  • Background Jobs
  • Remoting Jobs
  • Scheduled Jobs
  • LAB:PowerShell Jobs

Managing Your Environment

The goal of PowerShell is to ease your work as an administrator. In this module we will talk about basic management tasks that you need to perform and how you can accomplish these through PowerShell. Configuring network settings, implementing security on files and folders, managing Active Directory.

  • Networking
  • File Shares
  • Data Import
  • Security
  • Server Management
  • Active Directory
  • Certificates
  • LAB: Managing Your Environment

Error Handling

With the out of the box possibilities, you can easily debug your scripts before running them in production. You can set breakpoints and use standard debugging options like step over, step into, step out. To modify the default PowerShell error handling behavior, you can write a trap or try-catch statement and run special code when errors are encountered.

  • Debugging options
  • Error Handling
  • Trap Statement
  • Try - Catch Statement
  • LAB: Error Handling

DevOps: Desired State Configuration

DSC allows for declaratively specifying how a software environment should be configured. Upon running a configuration, DSC will ensure that the system gets the state described in the configuration. DSC configurations are idempotent. The Local Configuration Manager (LCM) periodically polls the system using the control flow described by resources to make sure that the state of a configuration is maintained.

  • Desired State Configuration Overview
  • DSC Components: Configuration - Node - Resource
  • Apply DSC Configurations
  • Push versus Pull Mode
  • Azure Automation DSC
  • LAB: Desired State Configuration

PowerShell Script Statements

Script statements allow you to write loops or conditional code.

  • Foreach
  • For
  • While - Do While - Do Until
  • If - Switch
  • Break - Continue
  • LAB: PowerShell Scripting

Advanced Scripting

Functions allow you to reuse your PowerShell code across various scripts. Custom objects can be used to store any form of data.

  • Working with Custom Objects
  • Functions
  • PowerShell Scopes
  • Script Basics
  • $PSBoundParameters
  • Splatting
  • LAB: Advanced Scripting

Create Custom PowerShell Cmdlets and Modules

Turn your real time management and automation scripts into useful reusable tools and cmdlets. Use PowerShell to create your own modules.

  • Advanced Functions
  • Advanced Parameter Configuration
  • Command Documentation
  • Creating a PowerShell Module
  • Creating your own Cmdlets
  • LAB: Create a Module and Custom PowerShell Cmdlets

PowerShell is a powerful tool for automating tasks and managing systems across different platforms. In this course you will learn to work with objects, connect to remote systems and write scripts. PowerShell can be used to manage your on-prem systems as well as many cloud services like Entra ID, Intune and Microsoft 365.

This course will get you acquainted with all the different features of PowerShell. You will learn how to automate and script administration, configuration and deployment of on-prem servers and cloud environments with out-of-the-box cmdlets and custom scripts.

This course is intended for:

  • System Administrators or System Engineers who are responsible for the management and configuration of multiple Servers and Microsoft applications.
  • System Administrators or System Engineers who are responsible for the deployment and maintenance of a Microsoft Cloud Infrastructure.
  • Developers interested in automation of test environments, interfacing with C#, embedding PowerShell in their application.
Contact Us
  • Address:
    U2U nv/sa
    Z.1. Researchpark 110
    1731 Zellik (Brussels)
  • Phone: +32 2 466 00 16
  • Email:
  • Monday - Friday: 9:00 - 17:00
    Saturday - Sunday: Closed
Say Hi
© 2024 U2U All rights reserved.