CYBERSECURITY NEWS

MMSTECH096: Microsoft Windows PowerShell

1.1        Microsoft Windows PowerShell

Overview

This four-day instructor-led course provides students with the knowledge and skills to leverage Microsoft Windows PowerShell v2 to administer their Windows environment. Both the command line environment and the scripting capabilities inherent in Microsoft’s automation engine are addressed during this hands-on course.

 

Outline

Module 1: Introduction to PowerShell – the Basics

This module explains how to install and configure PowerShell. In addition, students will be introduced to many of the concepts of PowerShell, including cmdlets and PowerShell drives.

Lessons

  • What is PowerShell?
  • PowerShell Cmdlets
  • PowerShell Snapins
  • PowerShell Modules
  • PowerShell Remoting
  • Navigating in PowerShell
  • PowerShell Profiles

Lab : Introduction to PowerShell

  • Installing PowerShellv2
  • Exploring Help
  • Working with cmdlets
  • Creating a custom profile
  • Optional: Reading Registry Data

After completing this module, students will be able to:

  • Identify the requirements for running PowerShell
  • Describe PowerShell cmdlets
  • Understand the purpose of snapins and modules
  • Describe the remote management capabilities of PowerShell
  • Reference PowerShell drives and navigate in PowerShell hosts
  • Understand how to customize the PowerShell environment through profiles

Module 2: The PowerShell Pipeline, Scripts and Syntax

This module explains how to use the PowerShell pipeline at the command line and in script files. It provides information on retrieving information on the properties and methods of objects. The module closes with information on command line syntax, managing output from cmdlets, and defining script blocks.

Lessons

  • Pipelines
  • Scripts
  • Syntax, Output and Script Blocks

Lab : The PowerShell Pipeline, Scripts and Syntax

  • Working with the PowerShell Pipeline
  • Using continuation characters for command line scripts
  • Create a command line script
  • Working with Operators

After completing this module, students will be able to:

  • Define the PowerShell pipeline.
  • Identify what the pipeline is used for.
  • Use object properties and methods.
  • Identify various components of statement syntax.

 

Module 3: Variables and Data Types, Variable Scopes, and Collections

This module explains how to use cmdlets associated with variables. addresses how PowerShell interprets variables based on their content. It reviews the common data types and how to control variable data types. It looks into the scope of the variable itself and finishes with using arrays.

Lessons

  • Variables and Data Types
  • Variable Scopes
  • Collections

Lab : Variables and Data Types, Variable Scopes, and Collections

  • Working with variables and data types
  • Working with arrays
  • Working with hash tables

After completing this module, students will be able to:

  • Describe how PowerShell interprets variables.
  • Identify common data types.
  • Describe the different variable scopes.
  • Understand how to work with collections of objects.

Module 4: Security

This module explains how identify and configure script execution policies. It includes information on securing script files through the use of certificates as well as how to capture and use alternate credentials when executing commands. The module ends with a discussion on securing remote sessions.

Lessons

  • Script Execution
  • Signing Scripts
  • Requesting Credentials and Using Secure Strings
  • Securing Remote Sessions

Lab : Security

  • Script Execution
  • Signing Scripts
  • Requesting Credentials

After completing this module, students will be able to:

  • Identify script execution policy settings.
  • Control script execution policy through the command line and group policy.
  • Request credentials before executing a script.
  • Describe commands available to secure information in scripts.
  • Identify ways to secure remote sessions.

Module 5: Remote Management

This module explains how use the different methods of executing commands remotely. It covers the requirements for using PowerShell remoting, managing remote sessions, and running background jobs.

Lessons

  • Configuring Remote Management
  • Using PowerShell Remoting
  • Using Jobs

Lab : Remote Management

  • Using Built-in Remoting
  • Configuring PowerShell Remoting
  • Using Persistent Sessions
  • Working with Background Jobs

After completing this module, students will be able to:

  • Describe the different methods of remote management with PowerShell.
  • Identify the requirements for remote management.
  • Configure a system for remote management.
  • Work with remote sessions.
  • Manage background jobs.

Module 6: Script Flow Control Statements

This module explains how use the language elements of PowerShell. It covers the statements for looping, branching, and managing the behavior of those statements through the use of break and continue keywords.

Lessons

  • Foreach and For
  • While / Do While / Do Until
  • If / Switch
  • Break /Continue

Lab : Script Flow Control Statements

  • Working with Foreach and If
  • Working with SWITCH
  • Using Do While / Do Until

After completing this module, students will be able to:

  • Identify looping statements.
  • Describe the variations between WHILE / DO WHILE / DO UNTIL.
  • Describe the differences between IF and SWITCH.
  • Identify when you can benefit from BREAK or CONTINUE.

 

Module 7: Functions, Filters and Modules

This module explains how use the features of PowerShell which allow you to extend its functionality through reusable code. It includes creating robust functions by leveraging parameters and introduces modules which enhance the portability of reusable code.

Lessons

  • Functions and Filters
  • Scripting with Functions and Parameters
  • Modules

Lab : Functions, Filters and Modules

  • Creating Functions
  • Working with PowerShell Modules
  • Create a Script-Based Module
  • Optional: Updating a Script-Based Module and Using Additional Built-In Modules

After completing this module, students will be able to:

  • Describe the purpose of a function.
  • Identify how to pass arguments into a function.
  • Differentiate between a function and a filter.
  • Describe how to use functions in a script file.
  • Identify types of modules.

Module 8: Error Handling

This module explains how use the error handling environment within PowerShell. It addresses the language components which enhance managing errors. The debugging options within both the console host and the ISE are presented as tools for debugging scripts.

Lessons

  • Error Handling
  • Script Debugging

Lab : Error Handling

  • Working with Errors
  • Adding Error Handling to Your Script
  • Script Debugging

After completing this module, students will be able to:

  • Identify the types of errors
  • Understand the uses of built-in variables for error handling
  • Configure the way errors are treated
  • Use language blocks for handling errors
  • Implement debugging options

Module 9: Administrative Uses

This module explains how use the topics covered in previous modules in every day administrative tasks. It combines the command line, script files, modules and functions to automate a variety of tasks. It introduces the concepts of advanced scripting which make PowerShell an enterprise-ready scripting environment.

Lessons

  • Manipulating files and folders
  • Modifying Registry Data
  • Working with Events
  • Working with Active Directory Objects
  • Advanced Scripting

Lab : Administrative Uses

  • Scripting Files and Folders
  • Scripting Registry Changes
  • Scripting Event Log Lookups
  • Creating Objects in Active Directory
  • Retrieving Information from Active Directory
  • Optional: Create a Simple User Interface

After completing this module, students will be able to:

  • Work with files and folders.
  • Change information in the registry.
  • Read information from event logs.
  • Understand how to work with Active Directory.
  • Create simple user interfaces.