Automating Windows Administration with Windows PowerShell Course



Course Details:

Length: 5 days

Price: $2,985/person (USD)

Group Price: Request Quote

Training Reviews

Course Features:

Live Instructor Teaching

Certificate of Completion

Digital Badge: Yes

Courseware: Print

Free 6 Month Online Retake

Hands-On Learning: Yes

Software Lab Included: Yes

Delivery Methods:

 Live Online

Individuals & Groups
@ Your Location


  Onsite for Teams

Groups & Teams
@ Your Organization

This is an instructor-led course. It is taught by an instructor live online or at organizations for groups.
For Windows PowerShell team training, we can teach onsite at your office or private it live online.

 

Course Overview

Unleash the Power of Automation: Master Windows Server with PowerShell

Transform your Windows administration workflow and boost your efficiency with our comprehensive "Automating Windows Administration with Windows PowerShell" course. Dive deep into the power of PowerShell and learn to automate complex tasks, streamline processes, and manage your Windows environment with precision.

Are you tired of manually performing repetitive tasks on Windows Servers?

This course is designed for beginners and experienced IT professionals. Through a blend of lectures, hands-on labs, and real-world scenarios, you'll thoroughly understand PowerShell and its Windows Server administration capabilities.

Key Skills and Concepts Covered:
  • PowerShell Fundamentals:
    • Command-line interface, editors, and help systems.
    • Command naming conventions, aliases, and parameters.
    • Providers, drives, and splatting.
  • Advanced Scripting Techniques:
    • Modules, variables, arrays, and hashtables.
    • Working with objects, pipelines, and operators.
    • Conditional statements, loops, and error handling.
  • Automation and Management:
    • Windows Management Instrumentation (WMI) and Common Information Model (CIM).
    • Working with files, folders, and the registry.
    • Web requests, web services, and remote management.
    • Graphical User Interfaces.
  • Data Manipulation and Integration:
    • Regular expressions for text processing.
    • Working with HTML, XML, and JSON data.
    • Working with .NET assemblies.
  • Advanced PowerShell:
    • Asynchronous processing and jobs.
    • Testing and debugging.
    • Building Modules.
    • Classes and enumerations.
Key Benefits:
  • Boost Productivity: Eliminate repetitive manual tasks and free up valuable time by automating routine administrative functions.
  • Enhance System Management: Gain granular control over your Windows environment, ensuring consistency and reducing errors.
  • Advance Your Career: Develop in-demand skills in PowerShell scripting, a critical asset for IT professionals seeking to excel.
  • Troubleshoot and Optimize: Learn to diagnose and resolve system issues quickly and efficiently using PowerShell's powerful diagnostic tools.
  • Improve Security: Implement robust security measures through automated configuration and monitoring.
  • Future Proof your skills: PowerShell is a core skill for modern IT professionals, and will remain in demand for years to come.

Ready to unlock the true potential of Windows Server with PowerShell? Enroll today and empower yourself to become a PowerShell automation expert!

 


Course Notes

Register Early: Registration Deadline is 2 Weeks Prior to Class Start.

Important Course Information
Course Taught with Courseware: PowerShell 7.2.
Course Taught with Software: PowerShell 7 and Windows Server 2022.
Note: No experience with Windows PowerShell or other scripting technologies necessary to attend this course.
Course Objectives
  • Mastering PowerShell Fundamentals:
    • Gaining proficiency in the PowerShell command-line interface and scripting environment.
    • Understanding core PowerShell concepts like cmdlets, providers, and pipelines.
    • Effectively utilizing PowerShell's help system and discovery tools.
  • Developing Advanced Scripting Skills:
    • Creating and manipulating variables, arrays, and hashtables.
    • Implementing control flow structures (conditional statements and loops) for automation.
    • Working with objects and leveraging the power of the PowerShell pipeline.
    • Implementing error handling within scripts.
  • Automating Windows Administration Tasks:
    • Automating file system, registry, and user management tasks.
    • Utilizing WMI and CIM for system management and configuration.
    • Implementing remote administration using PowerShell remoting.
    • Using PowerShell to create and manage GUI interfaces.
  • Integrating with Data and Web Services:
    • Parsing and manipulating data in various formats (XML, JSON, HTML).
    • Using regular expressions for text processing.
    • Interacting with web services and APIs using PowerShell.
  • Building Robust and Maintainable PowerShell Solutions:
    • Developing reusable PowerShell modules.
    • Implementing effective testing and debugging strategies.
    • Understanding and applying best practices for PowerShell scripting.
    • Learning to implement advanced powershell concepts like asynchronous processing and classes.
  • Applying PowerShell in Real-World Scenarios:
    • Solving practical Windows administration challenges through automation.
    • Improving efficiency and reducing manual effort in IT operations.
    • Future proofing IT skills.
Target Audience

Delivery Methods

For Individuals

Learn From an Instructor Live Online

Certstaffix Training public classes are taught by live instructors to you in the comfort of your home or work. Attend our live online, instructor-led classes from the convenience of your location and avoid travel.

How It Works

  • A live instructor teaching you online via Zoom
  • Hands-on learning with the software or skill you are being taught
  • Interaction with all students in the class
  • Any needed software for the class is provided in online lab
  • Easy Q&A. Classes are kept small to have time for student questions

Have more than 10 students needing this course? Contact Us for bulk pricing.

For Groups/Teams

 

Course Topics

Automating Windows Administration with Windows PowerShell

Course Duration - 5 Days

Chapter 1: Introduction to PowerShell
  • Technical requirements
  • What is PowerShell?
  • The command line
  • PowerShell editors
  • Getting help
    • Updatable help
    • The Get-Help command
    • Save-Help
    • Update-Help
    • About_* help files
  • Command naming and discovery
    • Verbs
    • Nouns
    • Finding commands
    • Aliases
  • About profile scripts
  • Parameters, values, and parameter sets
    • Parameters
    • Parameter values
    • Parameter sets
    • Common parameters
    • Confirm and WhatIf
    • Force parameter
    • PassThru parameter
  • Introduction to providers
    • Drives and providers
  • Introduction to splatting
    • Splatting to avoid long lines
    • Conditional use of parameters
    • Splatting to avoid repetition
    • Splatting and positional parameters
  • Parser modes
  • Experimental features
Chapter 2: Modules
  • Introducing modules
    • The Get-Module command
    • The Import-Module command
    • The Remove-Module command
    • PSModulePath in PowerShell
    • Module content
    • Using Windows PowerShell modules in PowerShell 7
  • Finding and installing modules
    • What is the PowerShell Gallery?
    • The Find-Module command
    • The Install-Module command
    • The Update-Module command
    • The Save-Module command
  • Microsoft.PowerShell.PSResourceGet
    • Repositories
    • Version ranges
  • Power Shell repositories
    • Creating an SMB repository
    • NuGet repositories
  • About snap-ins
Chapter 3: Variables, Arrays, and Hashtables
  • Naming and creating variables
    • Provider variables
  • Variables in strings
  • Variable types
    • Assignment with types on the right
    • Assignment with types on the left
    • Value and reference types
    • Type conversion
  • Variable commands
    • Get-Variable
    • New-Variable
    • Set-Variable
    • Remove-Variable
    • Clear-Variable
  • Variable provider
  • Variable scope
    • Accessing variables
    • Scope modifiers
    • Numeric scopes
    • Private variables
  • About arrays
    • Array type
    • Creation by assignment
    • Creating an array
    • Arrays with a type
    • Adding elements to an array
    • List and ArrayList
    • Selecting elements from an array
    • Changing element values in an array
    • Removing elements
    • Filling variables from arrays
    • Multi-dimensional and jagged arrays
  • About hashtables
    • Creating a Hashtable
    • Adding, changing, and removing keys
    • Using a hashtable to filter
    • Enumerating a Hashtable
  • About Ordered
Chapter 4: Working with Objects in PowerShell
  • Pipelines
    • Standard output
    • Non-standard output
    • The Object pipeline
  • Members
    • The Get-Member command
    • Accessing object properties
    • Access modifiers
    • Using methods
    • Creating and modifying objects
    • The Add-Member command
  • Enumerating and filtering
    • The For Each-Object command
    • The Where-Object command
  • Selecting and sorting
    • The Select-Object command
    • The Sort-Object command
  • Grouping and measuring
  • Comparing
  • Importing, exporting, and converting
    • The Export-Csv command
    • The Import-Cs command
    • Export-Clixml and Import-Clixml
    • The Tee-Object command
  • Formatting
    • Formatting and exporting
    • The Format-Table command
    • The Format-List command
    • Select-Object, Write-Host, and inline output
    • Format-only properties
Chapter 5: Operators
  • Precedence, grouping, and sub-expressions
    • Operator precedence
    • Grouping
    • Sub-expression operator
    • Array sub-expression operator
  • Unary, binary, and ternary operators
    • About the ternary operator
  • Arithmetic operators
    • Addition operator
    • Subtraction operator
    • Multiplication operator
    • Division operator
    • Remainder operator
    • Increment and decrement operators
  • Comparison operators
    • eq and ne
    • like and notlike
    • Greater than and less than
    • Case sensitivity
    • Comparison operators and arrays
    • Comparisons to null
    • contains and in
  • Regular expression-based operators
    • match and notmatch
    • replace
    • split
  • Logical operators
    • and
    • or
    • not
    • xor (eXclusive OR)
  • Bitwise operators
    • band (bitwise AND)
    • bor (bitwise OR)
    • bxor (bitwise eXclusive OR)
    • bnot (bitwise NOT)
    • shl and shr (shift left and right operators)
  • Assignment operators
    • Assign, add and assign, and subtract and assign
    • Multiply and assign, divide and assign, and modulus and assign
    • Statements can be assigned to a variable
    • Assignment and other operators
  • Type operators
    • as
    • is and isnot
  • Redirection operators
    • About Write-Host
    • Redirection to a file
    • PowerShell and default file encoding
    • Redirecting streams to standard output
    • Redirection to null
  • Other operators
    • Comma
    • Index
    • Range
    • Call
    • Format
    • join
    • Null coalescing
    • Null conditional
    • Pipeline chain
    • Background
Chapter 6: Conditional Statements and Loops
  • if, else, and elseif
    • Assignment within if statements
  • Implicit Boolean
  • switch statements
    • switch statements and arrays
    • switch statements and files
    • Wildcard and Regex parameters
    • Script block cases
    • switch statements and enums
  • switch, break, and continue
  • Loops
    • foreach loop
    • for loop
    • do-until and do-while loops
    • while loop
  • Loops, break, and continue
    • break and continue outside loops
  • Loops and labels
  • Loops, queues, and stacks
Chapter 7: Working with NET
  • Assemblies
    • About the GAC
  • Types
    • Type descriptions are objects in PowerShell
    • Enumerations
    • Classes
    • Namespaces
  • The using keyword
    • Using namespaces
    • Using assemblies
  • Type accelerators
    • About PSCustomObject and Ordered
  • Members
    • Constructors
    • Properties
    • Methods
    • Static properties
  • Reflection in PowerShell
    • The TypeAccelerators type
    • The ArgumentTypeConverterAttribute type
  • About generics
    • Generic classes
    • Generic methods
Chapter 8: Strings, Numbers, and Dates (Online Chapter)

Chapter 9: Regular Expressions (Online Chapter)

Chapter 10: Files, Folders, and the Registry
  • Working with providers
    • Navigating
    • Getting items
    • Drives
  • Items
    • Paths and .NET
    • Testing for existing items
    • Creating items
    • Reading and writing content
    • Temporary files
    • Removing items
    • Invoking items
    • Item properties
    • Searching for items
  • Windows permissions
    • Access and audit
    • Rule protection
    • Inheritance and propagation flags
    • Removing ACEs
    • Copying lists and entries
    • Adding ACEs
    • Numeric values in the ACL
    • Ownership
  • Transactions
  • File catalog commands
  • About hashing
  • New-FileCatalog
  • Test-FileCatalog
Chapter 11: Windows Management Instrumentation
  • Working with WMI
    • WMI classes
    • WMI commands
    • CIM commands
  • The WMI Query Language
    • Understanding SELECT, WHERE, and FROM
    • Escape sequences and wildcards
    • Comparison operators
    • Logic operators
    • Quoting values
    • Associated classes
  • WMI type accelerators
    • Getting instances
    • Working with dates
    • Getting classes
    • Calling methods
    • Creating instances
    • Associated classes
  • Permissions
    • Sharing permissions
    • WMI permissions
    • WMI and SDDL
Chapter 12: Working with HTML, XML, and JSON
  • ConvertTo-Html
    • Multiple tables
    • Adding style
    • ConvertTo-Html and Send-MailMessage
    • Windows PowerShell and ConvertTo-Html
    • Modifying HTML content
  • XML commands
    • About XML
    • Elements and attributes
    • Namespaces
    • Schemas
    • Select-Xmi
    • ConvertTo-XmI
  • System.Xml
    • The XML type accelerator
    • XPath and XmlDocument
    • SelectNodes and XPathNodeList
    • Working with namespaces
    • Creating XML documents
    • Modifying element and attribute values
    • Adding elements
    • Removing elements and attributes
    • Copying nodes between documents
    • Schema validation
    • Inferring a schema
  • System.Xml.Linq
    • Opening documents
    • Selecting nodes
    • Creating documents
    • Working with namespaces
    • Modifying element and attribute values
    • Adding nodes
    • Removing nodes
    • Schema validation
  • JSON
    • ConvertTo-Json
    • ConvertFrom-Json
    • Test-Json
Chapter 13: Web Requests and Web Services
  • Technical requirements
  • Web requests
    • HTTP methods
    • Using Invoke-WebRequest
    • About parsing web pages
    • Downloading files
    • Using the HEAD method
    • HTTPS
  • Working with REST
    • Simple requests
    • Using basic authentication
    • Requests with arguments
    • Working with paging
    • OAuth
  • Working with SOAP
    • Finding a SOAP service
    • SOAP in Windows PowerShell
    • SOAP in PowerShell 7
Chapter 14: Remoting and Remote Management
  • Technical requirements
  • Executing remote commands
    • Enter-PSSession
    • Invoke-Command
  • PS Sessions
    • New-PSSession and Get-PSSession
    • Disconnected sessions
    • Import-PSSession
    • Export-PSSession
    • Copying items between sessions
  • WS-Management
    • Enabling and configuring remoting
    • The WSMan drive
    • Remoting and SSL
    • User Account Control
    • Trusted hosts
  • Remoting on Linux
    • Remoting over SSH
    • Connecting from Windows to Linux
    • Connecting from Linux to Windows
  • The double-hop problem
    • CredSSP
    • Passing credentials
  • CIM sessions
    • Get-CimSession
    • Using CIM sessions
  • Just Enough Administration
    • Session configuration
    • Role Capabilities
Chapter 15: Asynchronous Processing
  • Working with jobs
    • Start-Job, Get-Job, and Remove-Job
    • Receive-Job
    • Wait-Job
    • Jobs and the using scope modifier
    • The background operator
    • The ThreadJob module
    • Batching jobs
  • Reacting to events
    • The Register-ObjectEvent and *-Event commands
    • Action, Event, EventArgs, and MessageData parameters
    • Get-EventSubscriber and Unregister-Event
  • Using runspaces and runspace pools
    • Creating a Power Shell instance
    • The Invoke and BeginInvoke methods
    • About Streams and InvocationStateInfo
    • Running multiple instances
    • Using the RunspacePool object
    • About the InitialSessionState object
    • Using the InitialSessionState and RunspacePool objects
  • Using thread-safe objects
  • Managing concurrent access
Chapter 16: Graphical User Interfaces
  • About Windows Presentation Foundation (WPF)
  • Designing a Ul
  • About XAML
  • Displaying the UI
  • Layout
    • Using the Grid control
    • Using the StackPanel control
    • Using the DockPanel control
    • About Margin and Padding
  • Naming and locating controls
  • Handling events
    • Buttons and the Click event
    • ComboBox and Selection Changed
    • Adding elements programmatically
    • Sorting a ListView
  • Responsive interfaces
    • Import-Xaml and runspace support
    • Errors in the background
    • Using the Dispatcher
    • ScriptBlock runspace affinity
    • Using the Action delegate
    • Using the Func delegate
Chapter 17: Scripts, Functions, and Script Blocks
  • About style
  • Capabilities of scripts, functions, and script blocks
    • Scripts and using statements
    • Scripts and the Requires statement
    • Nesting functions
    • Script blocks and closures
  • Parameters and the param block
    • Parameter types
    • Default values
  • The CmdletBinding attribute
    • Common parameters
    • CmdletBinding properties
    • ShouldProcess and ShouldContinue
  • The Alias attribute
    • begin, process, end, and clean begin
    • process
    • end
    • clean
    • Named blocks and return
  • Managing output
    • The Out-Null command
    • Assigning to null
    • Redirecting to null
    • Casting to void
  • Working with long lines
    • Line break after a pipe
    • Line break after an operator
    • Using the array sub-expression operator to break up lines
  • Comment-based help
    • Output help
    • Parameter help
    • Examples
Chapter 18: Parameters, Validation, and Dynamic Parameters
  • The Parameter attribute
    • Position and positional binding
    • The DontShow property
    • The ValueFromRemainingArguments property
    • The HelpMessage property
  • Validating input
    • The PSTypeName attribute
    • Validation attributes
    • The Allow attributes
    • PSReference parameters
  • Pipeline input
    • About ValueFromPipeline
    • Accepting null input
    • Input object types
    • Using ValueFromPipeline for multiple parameters
    • About ValueFromPipelineByPropertyName
    • ValueFromPipelineByPropertyName and parameter aliases
  • Defining parameter sets
  • Argument completers
    • The ArgumentCompleter attribute
    • Using Register-ArgumentCompleter
    • About CompletionResult
    • Non-literal values
    • Listing registered argument completers
  • Dynamic parameters
    • Creating a RuntimeDefinedParameter object
    • Using RuntimeDefinedParameter Dictionary
    • Using dynamic parameters
    • Conditional parameters
Chapter 19: Classes and Enumerations
  • Defining an enumeration
    • Enum and underlying types
    • Automatic value assignment
    • Enum or ValidateSet
    • The Flags attribute
    • Using enumerations to convert a value
  • Creating a class
    • Properties
    • Constructors
    • Methods
    • The Hidden modifier
    • The static modifier
    • Inheritance
    • Constructors and inheritance
    • Calling methods in a parent class
    • Working with interfaces
    • Supporting casting
  • Classes and runspace affinity
  • Transformation, validation, and completion
    • Argument transformation attribute classes
    • Validation attribute classes
    • ValidateSet value generator
    • Argument completers
  • Classes and Microsoft Desired State Configuration
    • Implementing Get
    • Implementing Set
    • Implementing Test
    • Using the resource
Chapter 20: Building Modules (Online Chapter)

Chapter 21: Testing
  • Technical requirements
  • Static analysis
    • PSScriptAnalyzer
    • Using AST
    • Tokenizer
    • Custom script analyzer rules
  • Testing with Pester
    • Testing methodologies
    • What to test
    • Describing tests
    • Should and assertions
    • Iteration with Pester
    • Conditional testing
    • Pester phases
    • Before and After blocks
    • Mocking commands
    • Mocking objects
    • InModuleScope
    • Pester in scripts
Chapter 22: Error Handling
  • Error types
    • Terminating errors
    • Non-terminating errors
  • Error actions
    • About Get-Error
  • Raising errors
    • Error records
    • Raising non-terminating errors
    • Using the WriteError method
    • Raising terminating errors
    • Using the Throw TerminatingError method
  • Catching errors
    • ErrorVariable
    • try, catch, and finally
    • Inconsistent error handling
    • Nesting try, catch, and finally
  • About trap
    • Using trap
    • trap, scope, and continue
Chapter 23: Debugging
  • Common problems
    • Dash characters
    • Operator usage
    • Use of named blocks
    • Problems with variables
  • Debugging in the console
    • Setting a command breakpoint
    • Using variable breakpoints
    • Setting a line breakpoint
  • Debugging in Visual Studio Code
    • Using the debugger
    • Viewing CALL STACK
    • Using launch configurations
    • Debugging modules
    • Using WATCH
  • Debugging other Power Shell processes
Index

 

Course FAQs

This course is taught by a live instructor and is available in two class formats:

  1. Live Online for Individuals
  2. Onsite/Online for Private Groups

 



 


Related Powershell Information:

Public instructor-led Windows Powershell course prices start at $2,985 per student. Group training discounts are available.

Self-Paced Windows Powershell eLearning courses cost $700 at the starting point per student. Group purchase discounts are available.







Registration:

Have a Group?
Request Private Training

6/2/2025 10:00:00 AM
Online Class

Registration Deadline - 05/18/2025

 

8/25/2025 10:00:00 AM
Online Class

Registration Deadline - 08/10/2025

 

11/17/2025 10:00:00 AM
Online Class

Registration Deadline - 11/02/2025

Start your training today!