PowerShell is a required skill set for hands-on security professionals. The combination of its flexibility, extensibility, and ubiquity on modern Windows platforms makes PowerShell a go-to tool for Windows Systems Administrators. What’s useful for SysAdmins is also useful for Information Security practitioners, both in offensive and defensives roles. We’ll get hands-on with PowerShell in this class, bringing you up to basic competency as quickly as possible.
Designed for students with some programming or scripting background, we’ll get started with the how and why of PowerShell before moving on to all the basics you’ll need to know about any language. The course will then move on to core features, commands, and patterns of the language to build the fundamental skills required for more advanced topics, all while exploring the gimmies and gotchas of PowerShell.
By the end of the course, students will be able to perform common task patterns in PowerShell, as well as have the knowledge basis and tools needed to understand the majority of PowerShell code one may find in tooling and more advanced educational materials.
Covered Topics- The What and Why of PowerShell
- Basic Language Syntax and Getting Help
- Workflow – Pipelines and Filtering
- Filesystem, File I/O and the Windows Registry
- Scripting, Flow Control and Conditionals
- Functions, Splatting, and Supporting Patterns and Data Types
- Packaging Code for Execution
PrerequisitesBefore attending this workshop students must have a basic understanding of programming and/or scripting. PowerShell fundamentals will be covered, not programming fundamentals in general. Familiarity with the following in any language is required:
- Variables and basic data structures (arrays, hash tables/dictionaries / etc…)
- Control flow, Boolean comparisons and functions
- Object-oriented programming (properties, methods, etc…)
Required MaterialsThis is a hands-on workshop. Students are expected to bring a functional laptop with a suitable operating system and software pre-installed.
- Windows 10, Windows Server 2012R2, or Windows Server 2016 (Virtual Machines are acceptable)
- PowerShell Core 6.2.4.
Available from
https://github.com/PowerShell/PowerShell/releases/tag/v6.2.4