Geek Week - Windows PowerShell [NEW this year!]
The basics and deep diving in to PowerShell and what it can do for you!
During Geek Week we look at the new features in Windows PowerShell, including PowerShell 5.1, and explore techniques you can use to automate your Windows environments.
All the labs are based on Server 2016 and during this event, you'll learn hands-on how PowerShell 5.1 works and how you can best use PowerShell 5.1 to automate your daily work. You will learn the syntax, the improvements from previous versions and how PowerShell 5.1 integrates with Windows 10 and Windows Server 2016.
Are you working on Microsoft platforms and want to be on the cutting edge with the latest technology from Microsoft, this PowerShell lab is one you cannot miss!
Your guides are Johan Åkerström (picture) and Niklas Goude, two of the foremost experts and instructors in Windows Powershell.
A GeekWeek is a demanding event where you learn PowerShell from the masters. While we are very flexible and always welcome more topics to discuss, our starting point is the following agenda:
Day 1: The basics
We start with what PowerShell is and the thought behind it. We cover Cmdlet Discovery, basic syntax and writing scripts, this in a context of automating Hyper-V and Active Directory. We progress to see how we use Data discovery in order to understand objects and data structures and we look at script structures such as conditions, code flows, and loops. With these subjects we cover the foundation of PowerShell programming and use of commands. We look at the Console and the productivity features of the Integrated Scripting Environment (ISE). We look at the basics of scripts, functions and modules.
We start off by expanding on the previous day to manage Active Directory data, but we move here more into data analysis and more on pipelining. We look at importing and exporting in various ways and turning text into objects. We look at how to get to the data that you want, filtering cutting and slicing through the data. We do this in a context of Server and Client management, processes, services, files and folders etc.
Everything is objects in PowerShell, but they can come from many angles, .NET, COM or PowerShell classes.
On the afternoon of the second day the PowerShell gods said: Let there be errors… So you will have to learn how to deal with the unexpected, how to recover and handle errors which will surely happen.
Last but not least we will dive into Package Management using the OneGet package managfement system.
Day 3: CIM/WMI, PS Remoting
With PowerShell Remoting we step a bit deeper and look at how we can build administrative endpoints to handle things like delegation and PowerShell modules which has special requirements such as .NET version or PowerShell version. We also talk about the basics Desired State Configuration. We cover DSC in PUSH mode. We then step into writing our own DSC resource provider and step up the pace with setting up DSC in PULL mode, giving you a more complete look into the world of DSC.
Day 4: Pester, Modules, and clean code
We start by discussing Pester and its impact on PowerShell. We go through the conceptual design and look at the syntax. We talk about different approaches to writing tests such as TDD, and how to arrange, act, and assert your tests. Next we look at how to implement pester in our current projects and what to think about when implementing Pester in mid/large companies. We follow up with Module design and how to structure module code. We take a deep-dive in best practices, design patterns, and talk about how to work on modules as a team. We also look at git, and CD/CI requirements.
Day 5: All about the cloud
We start by looking at web related commands and workflows in PowerShell. Next we look the impact of Azure (through a PowerShell perspective). Next we take a look behind the scenes and deep-dive into cloud management using PowerShell. We look at different ways of cloud computing such as: AzureRM, AzureAD, Graph, and MSOL. Next we look at cloud configurations IaaS/PaaS and how we can use resources and resource groups. After that we look at how we can expand the reach of PowerShell to communicate with devices (IoT). We will go through protocols, device connections, and device management using PowerShell.
While this is our starting point, we welcome the opportunity to broaden out our discussions to focus on YOUR needs. Have a script you want to write but can’t quite figure it out – bring it along and we’ll workshop it. Have bits of syntax you can’t quite figure out – we can help. Want to know how to work like the best in the business – that’s we’re there for.