A uniquely TrainedSecurity Force

POWERSHELL FOUNDATIONS FOR CYBER OPERATIONS [POSH-I]

POWERSHELL FOUNDATIONS FOR CYBER OPERATIONS [POSH-I]

Course Description

 

PowerShell has become one of most recognized and prevailing tools provided by Microsoft. Network Defenders and Aggressors have also realized the value of PowerShell and now have incorporated PowerShell into their standard tactics. This course is meant to train those who have little to no experience in PowerShell and make them proficient enough to learn on their own. This course does not simply teach students to use specific commands but rather, it focuses on teaching the students how to help themselves, assist coworkers, and cultivate a foundation in PowerShell that will stand the test of time.

COURSE OBJECTIVE

This course will educate the students on the very basics of scripting and PowerShell. This will ensure that all students will understand the same terminology to equalize those who have had exposure to PowerShell and those who haven’t. After foundational information, the course will proceed with a focus with a balance of instructor lecture and course exercises. Each lesson will progress the student, leveraging information learned from previous lessons to create a study flow of development and concept reinforcement. The course will finish with a cap stone to test the students application of all the previous materials discussed.

MODULES IN THIS COURSE

  • Module 1: PowerShell History and the Shell
  • Module 2: Navigating the ISE and Errors
  • Module 3: Object Oriented Language and Command Structure
  • Module 4: Foundational Commands
  • Module 5: Operators
  • Module 6: The Pipeline
  • Module 7: Switches and If Statements
  • Module 8: Loops
  • Module 9: Scopes
  • Module 10: Functions and Parameter Building
  • Module 11: Script Building
  • Module 12: Error Handling
  • Module 13: Creating Objects
  • Module 14: ISE Debugger
  • Module 15: Capstone

TARGET AUDIENCE

IT professionals with limited to no experience or formal training with PowerShell. Audience is relevant to Server/Desktop Administrators, Network Defenders/Aggressors, or any position that interacts with PowerShell. 

PREREQUISITES

None

COURSE LENGTH

40 hours of course work, ideally to take place over 5 consecutive business days. 

TESTING/CERTIFICATION

Course includes a certificate of attendance.

COURSE STRUCTURE/CONTENT OUTLINE

MODULE 1: POWERSHELL HISTORY AND THE SHELL

LESSON 1.1: POWERSHELL HISTORY

  • 1.1.1: Why PowerShell and Philosophy
  • 1.1.2: History of Microsoft Shells
  • 1.1.3: PowerShell vs. Legacy Languages
  • 1.1.4: Standard PowerShell with Each Version of Windows

LESSON 1.2: EXPLORING THE SHELL

  • 1.2.1: Terminology
  • 1.2.2: Navigation/Common Commands
  • 1.2.3: IntelliSense & Tab Completion
  • 1.2.4: Execution Policy

LESSON 1.3: SECURITY FEATURES OF POWERSHELL

  • 1.3.1: PowerShell Event Logging
  • 1.3.2: System Wide Transcripts
  • 1.3.3: PowerShell Antimalware

MODULE 2: NAVIGATING THE ISE AND ERRORS

LESSON 2.1: THE ISE THREE MAIN SECTIONS

  • 2.1.1: Scripting Pane
  • 2.1.2: Embedded Console
  • 2.1.3: Command Add-On

LESSON 2.2: INTELLISENSE & SNIPPETS

  • 2.2.1: IntelliSense
  • 2.2.2: Snippets

LESSON 2.3: SCRIPT WRITING BEST PRACTICES

LESSON 2.4: UNDERSTANDING ERRORS

  • 2.4.1: The $Error Variable
  • 2.4.2: ErrorAction Parameter Options

MODULE 3: OBJECT ORIENTED LANGUAGE AND CMDLET STRUCTURE

LESSON 3.1: COMMAND STRUCTURE

  • 3.1.1: Verb-Noun Structure
  • 3.1.2: Parts of a Command

LESSON 3.2: POWERSHELL OBJECTS

  • 3.2.1: What is an Object?
  • 3.2.2: Parts of an Object
    • 3.2.2.1: Properties
    • 3.2.2.2: Methods
    • 3.2.2.3: Common Types of Objects

LESSON 3.3: VARIABLES

  • 3.3.1: Variables
  • 3.3.2: Built-In Variables

MODULE 4: FOUNDATIONAL COMMANDS

LESSON 4.1: WILDCARDS

LESSON 4.2: DISCOVERY CMDLETS

  • 4.2.1: Get-Verb
  • 4.2.2: Get-Command
  • 4.2.3: Get-Alias
  • 4.2.4: Get-Member

LESSON 4.3: GET-HELP

  • 4.3.1: Reading the Help File
  • 4.3.2: ShowWindow and Online Parameter
  • 4.3.3: Update-Help

MODULE 5: OPERATORS

LESSON 5.1: OPERATORS

  • 5.1.1: Arithmetic Operators
  • 5.1.2: Assignment Operators
  • 5.1.3: Comparison Operators
  • 5.1.4: Logical and Parenthesis Operators
  • 5.1.5: Split, Join, Type, & Replace Operators
  • 5.1.6: Special Operators

MODULE 6: THE PIPELINE

LESSON 6.1: THE PIPELINE

  • 6.1.1: Introduction
  • 6.1.2: Where-Object
  • 6.1.3: ForEach-Object
  • 6.1.4: Select-Object
  • 6.1.5: Sort-Object
  • 6.1.6: Group-Object
  • 6.1.7: Format-Table/Format-List
  • 6.1.8: Export Commands
  • 6.1.9: Connecting all the Pipes
  • 6.1.10: Spot the Bug! (Or Bad Practice)

MODULE 7: SWITCHES AND IF STATEMENTS

LESSON 7.1: IF STATEMENTS

  • 7.1.1: Introduction
  • 7.1.2: If Statement Structure

LESSON 7.2: SWITCH STATEMENTS

LESSON 7.3: IF AND SWITCH STATEMENTS DIFFERENCES

MODULE 8: LOOPS

LESSON 8.1: FOR AND FOREACH LOOPS

  • 8.1.1: Loops
  • 8.1.2: For
  • 8.1.3: Foreach

LESSON 8.2: DO LOOPS

  • 8.2.1: Do/Until Loops
  • 8.2.2: Do/While Loops
  • 8.2.3: Labels and Break Statements

MODULE 9: SCOPES

LESSON 9.1: SCOPES

  • 9.1.1: What is a Scope?
  • 9.1.2: Different Scope Levels
  • 9.1.3: Best Practices

MODULE 10: FUNCTIONS AND PARAMETER BUILDING

LESSON 10.1: FUNCTIONS

  • 10.1.1: Functions
  • 10.1.2: Parts of a Function

LESSON 10.2: PARAMETER BUILDING

  • 10.2.1: Parameters
  • 10.2.2: Cmdlet Binding
  • 10.2.3: Parameter Type Casing
  • 10.2.4: Parameter Validation
  • 10.2.5: Common Parameter Options

MODULE 11: SCRIPT BUILDING

LESSON 11.1: SCRIPT BUILDING

  • 11.1.1: Snippet Refresher
  • 11.1.2: Script Structure
  • 11.1.3: Building a Help Manuel

MODULE 12: ERROR HANDLING

LESSON 12.1: ERROR REFRESHER

LESSON 12.2: THROW AND WRITE-ERROR

LESSON 12.3: TRY/CATCH/FINALLY

LESSON 12.4: TRAP

LESSON 12.5: ERROR HANDLING TIPS

MODULE 13: CREATING OBJECTS

LESSON 13.1: CREATING OBJECTS INTRODUCTION

LESSON 13.2: NEW-OBJECT

MODULE 14: ISE DEBUGGER

LESSON 14.1: DEBUGGING INTRODUCTION

LESSON 14.2: BREAKPOINTS

LESSON 14.3: USING THE DEBUGGER

  • 14.3.1: Step In
  • 14.3.2: Step Over
  • 14.3.3: Step Out
  • 14.3.4: Other Debugging Tools

MODULE 15: CAPSTONE

PRICE: $4,600

Contact for Government rate

root9B reserves the right to cancel or change a class at any time, including but not limited to, lack of participation, classroom, equipment or trainer availability. All courses require a minimum of 6 attendees. Notification will be provided within 14 days of the class, whenever possible. Registrants will be issued a course voucher for the next available course in the event of a course cancellation. root9B is not liable for any direct, or indirect, consequential or special damages that may be incurred due to a cancellation of a scheduled class, including, but not limited to, cancellation penalties for transportation or accommodations. The customer or student's sole remedy shall be a voucher for future training.

 

Dates & Locations

November 13, 2017
 (
Honolulu, HI
)
December 4, 2017
 (
Colorado Springs, CO
)
February 5, 2018
 (
Colorado Springs, CO
)
February 26, 2018
 (
San Antonio, TX
)
May 7, 2018
 (
Honolulu, HI
)
June 4, 2018
 (
Annapolis Junction, MD
)
August 27, 2018
 (
Colorado Springs, CO
)
December 3, 2018
 (
Columbia, MD
)