Course Outline
Day 1
Day one focuses on how to use Windows PowerShell to automate day to day administrative tasks, focusing on understanding the language
Module 1
· What is Windows PowerShell
· Installing Windows PowerShell
o Deploying Windows PowerShell
o Verifying Installation
· Using the Shell
· Using PowerShell ISE
· Configuring Windows PowerShell
· Execution of Scripts
· Creating a Windows PowerShell Profile
· CmdLet Discovery
o Finding CmdLets
o Working Location
o Working with Files and Folders
· Using CmdLet Parameters
· Combining CmdLets
o Using Pipelines
o Using Select-Object
o Using Sort-Object
o Using Group-Object
o Using Compare-Object
· Getting Help
o Finding additional Help
· Understanding .NET
o Objects
o Properties
o Methods
o Using the Get-Member CmdLet
Module 2
· Using Windows PowerShell
· Using Variables
o Creating Variables
o Variable CmdLets
o Environment Variables
o Automatic Variables
· Using Data Types
· Working with Strings
o Escape Sequence
o Comparing Strings
o Searching for Patterns within a String
o Replacing Characters in a String
o Splitting and Concatenating Strings
o How to Trim a String
o UpperCase and LowerCase
· Using the Format Operator
· Math in Windows PowerShell
o Simple Calculations
o Complex Calculations
o Converting Binary numbers
o Working with Kilobyte, Megabyte and Gigabyte
· Using Arrays
o Managing Arrays
o Modifying Arrays
· HashTables
o Using HashTables
o Modifying HashTables
· Splatting
· Operators
o Working with Arithmetic Operators
o Working with Assignment Operators
o Working with Comparison Operators
o Working with Logical Operators
· Using WildCards
· Using Regular ExpressionsGet-ChildItem
Module 3
· Creating Functions, Scripts and Modules
· Why use Scripts
· Running Windows PowerShell Scripts
· Signing Scripts
· Creating basic functions
o using $args
o using Parameters
· Creating Advanced functions
o CmdLet Bindings
o Parameter Keyword
o Mandatory Parameters
o Validating input
o Working with Positioning
o Adding PipeLine functionality
o Adding Verbose Output
o Using Custom WhatIf functionality
· Working with Modules
o Creating Modules
o Creating Module Manifests
Module 4
· Flow Control & Statements
· Using the for Statement
· Using Decision-Making Statements
o Using the If, ElseIf, Else Statement
o Using the Switch Statement
· Understanding the foreach loop
· Using Begin, Process and End
· Using the ForEach-Object cmdlet
· Using the Where-Object CmdLet
Module 5
· Error Handling
· Using Trap
· Using Try, Catch and finally
· using $? and $LASTEXITCODE
· Using PSDebug
· Using Breakpoints
Day 2
Day 2 focuses on Remoting, Background Jobs and how to integrate other languages using PowerShell. We’ll also take a closer look on how to interact with the Web and how to manage WMI and CIM.
Module 6
· Remoting & Background Jobs
· Configuring WinRM
· Using Interactive Sessions
· Invoking Commands on Multiple Computers
· Working with Background Jobs
· Managing Results
Module 7
· Using Windows PowerShell Workflows
o Creating Workflows
o Short Running Workflows
o Long Running Workflows
Module 8
· Adding a Microsoft .NET Framework type (a class) to a Windows PowerShell session.
o Adding a Custom Class to Windows PowerShell
o Using P/Invoke calls in PowerShell
Module 9
· Using Windows PowerShell to interact with the Web
o Managing Web Resources using PowerShell
o Managing XML and JSON using Windows PowerShell
Module 10
· Working with WMI and CIM using Windows PowerShell
o Managing WMI using PowerShell
o Managing CIM using PowerShell
Day 3
Day 3 focuses on automating day to day tasks in the Windows Environment. By using techniques from the previous modules we’ll create ready to use functions and modules which you can use to automate Windows Clients and Servers.
Module 11
· Managing Folders and Files
o Searching for folders and files
o Searching for String-Patterns in files
o Creating Folders and Files
o Copying Files
o Removing Files
o Renaming Files
Module 12
· ACL
o Working with ACL:s
o Managing Permissions on Folders and Files
o Managing Permissions in the Registry
Module 13
· Working with Services
o Starting Services
o Stopping Services
o Monitoring Services
Module 14
· Working with the Eventlog
o Managing Event Logs
o Searching for specific Errors in the Event Log
o Backing up Event Logs
Module 15
· Working with Processes
o Using the Get-Process CmdLet
o Starting Processes
o Stopping Processes
Module 16
· Managing the Registry
o Navigating through the Registry
o Managing Keys
o Managing Values
o Managing the Registry Remote
Module 17
· Working with Local Users & Groups
o Managing Local Users
o Managing Local Groups
Module 18
· Working With Active-Directory
o Using the Active-Directory CmdLets
o Managing Users
o Managing Computers
o Managing Groups
Module 19
· Windows Forms & Windows Presentation Foundation
o Creating Basic Popup-Windows
o Creating a Form
o Using Windows Presentation Foundation