Advanced Automated Administration and Toolmaking using PowerShell | Afi U.

Advanced Automated Administration and Toolmaking using PowerShell

Expand and build upon the knowledge already acquired in course AZ-040T00 and focus on building more scalable and usable Powershell scripts.
Microsoft Partner

Upcoming sessions

No date suits you?

Notify me when a session is added.

  • Duration: 3 days
  • Regular price: $1,995
  • Preferential price: $1,695tip icon

Course outline

Duration : 3 days

This three-day course is a follow on course from the AZ-040T00 Automating Administration with PowerShell course. It is built on Windows Server 2019 and while it is specifically focussed on Powershell v5.1, is also relevant in all other supported PowerShell environments (such as Powershell v7.x).

Expand and build upon the knowledge already acquired in course AZ-040T00 and focus on building more scalable and usable Powershell scripts for use in your organization by building your own Powershell tools. Learn about areas such as the creation of advanced functions, script modules, advanced parameters attributes and controller scripts. Also learn how to make your scripts more robust by learning about handling script errors and the analysis and debugging Powershell scripts. The course will also cover the use of Powershell cmdlets with .NET Framework.

The detailed hands-on labs and in-depth content and learning will help remove manual tasks that you may currently have to perform as an Administrator, allowing you to make your own Powershell tools for automated, repeated, accurate management and provisioning of your Windows Server infrastructure


This course is intended for IT Professionals already experienced in general Windows Server and Windows Client administration or already experienced in administering and supporting Application servers and services including applications such as Exchange, SharePoint, and SQL. System, Infrastructure and Application Administrators working in a Windows or Windows hybrid environment will all find this course relevant to their day-to-day jobs and future career and skills development.

The course is also intended for IT Professionals who want to build upon existing Powershell knowledge and skill to learn how to build their own tools for broader general use in their organization, using any Microsoft or independent software vendor (ISV) product that supports Powershell manageability


Before attending this course, students must have:

Knowledge and experience working with Powershell or knowledge equivalent to the content covered in course AZ-040T00 Automating Administration with PowerShell course

Experienced in general Windows Server and Windows Client administration or already experienced in administering and supporting Application servers and services including applications like Exchange, SharePoint, and SQL.


After completing this course, students will be able to:

  • Create Advanced Functions
  • Use Cmdlets and Microsoft .NET Framework in Powershell
  • Write Controller Scripts
  • Handle Script Errors
  • Take advantage of SQL, XML, REST APIs and Events


Module 01: Reloading the Pipeline with Objects

All data used in solving real-world problems with Powershell comes from 'objects' and are manipulated using tools, such as cmdlets, functions and scripts. An essential mechanism for this to happen is the pipeline. In this module, we briefly review objects and the pipeline so that we can then proceed in advanced ways to create tools to handle them.


  • Using .NET in Powershell
  • The Six Pillars
  • Objects in the Powershell pipeline

Module 02: Creating Advanced Functions

This module will show how to incrementally build a script based on a series of tests performed on the command line, then proceed to create a function, transforming it into an advanced function


  • Moving from a console line to an Advanced Function
  • Script Module creation
  • Enhance Parameters with Attributes
  • Configuring Pipeline Input
  • Multi-Sourced function output
  • Documenting with Comment-Based Help
  • -WhatIf and –Confirm Support

Module 03: Writing Controller Scripts

What is a controller script when compared to ‘tools’ and how to use them is what this module will explainwith associated features


  • What are Controller Scripts?
  • Identifying the Business Process to automate
  • Creating the Controller Script

Module 04: Handling Script Errors

Errors (also called ‘exceptions’) are a reality that tool developpers cannot escape. How can Powershell help in handling them? This is what the module will demonstrate


  • What is Error Handling?
  • Implementing Error Handling in a Script

Module 05: Reviewing and Using SQL for Storage/Retrieval

Access to SQL databases is one of the very useful domains that can be leveraged using Powershell. This module demonstrates tools that can be used to transform Objects to a stream passed to SQL for retrieval and storage


  • Passing queries to SQL
  • Building INSERTs and UPDATEs from Objects
  • Writing directly to SQL table from the pipeline

Module 06: Leveraging XML

XML provides a universally available data storage option that is easy to program and use. This module shows how Powershell can leverage this language


  • Reading XML documents
  • Manipulating and writing data in XML

Module 07: REST apis to interact with Web Services

REST APIs are commonly used to access web services. Here is how Powershell can leverage this technology.


  • JSON format utilization
  • How can REST APIs be useful?
  • Overview: MsGraph vs other Microsoft APIs
  • Case: REST API GeoCoding example

Module 08: leveraging Events for Near Real Time processing

When a Near Real Time (NRT) response is required, Powershell can leverage System Events using .NET and WIM/CIM. Here is how


  • Creating and Registring an Event
  • Change Script to Function Tool
  • Add Controller Script
  • Add Try/Catch/Finally

Appendix A: Performance considerations

This appendix addresses different performance issues that can affect certain scenarios when using Powershell. It provides potential mitigations whenever available.


  • Parallel execution
  • Speeding up the pipeline
  • The Get-ChildItem problem
  • Tips when filtering, sorting, using PSCustomObject, and Functions

Appendix B: Tools of the Trade for continuous improvement

This appendix examines different Tools and concepts to assist in Tool making


  • For measuring
  • For Grouping
  • For Date processing
  • For History meta data
  • For Importing / Mapping

Surround yourself with the best

Michel Laporte
Michel Laporte
Trainer and IT consultant
Michel possesses the ability to translate needs into IT solutions. His mission is to help his clients surf the ceaselessly accelerating technology wave.