Tuesday, June 04 2019
 

08:00 am

Registration
Foyer

Registration

Tuesday June 04, 2019 08:00 am - 09:00 am in Foyer

Check in at our friendly registration desks! All you need is your name and your registration ID (invoice number). You'll receive your conference materials and badge, grab a coffee, and find a seat in the big Leibniz Hall. May the Games begin!

09:00 am

Opening Ceremony
Leibniz Saal Tobias Weltner

Opening Ceremony

Tuesday June 04, 2019 09:00 am - 09:30 am in Leibniz Saal

Speakers
Tobias Weltner

Tobias Weltner

ISESteroids


In our Opening Ceremony, we welcome our PowerShell Gladiators and our delegates from 35 countries and kick off this conference. You'll get a quick orientation of what to expect and how to make the most of it.

09:30 am

State of the Shell 2019 (Keynote)
Leibniz Saal Jeffrey Snover, Joey Aiello

State of the Shell 2019 (Keynote)

Tuesday June 04, 2019 09:30 am - 10:30 am in Leibniz Saal

Speakers
Jeffrey Snover

Jeffrey Snover

Microsoft
Joey Aiello

Joey Aiello

PowerShell Team


It’s 2019 and PowerShell has never been more important. This session tells the story of how the PowerShell team, once again, invested ahead of conventional wisdom by developing PowerShell Core, an open source, heterogeneous, cloud-focused version. This session will also discuss PowerShell V7. Shipping in Windows, it is poised to become the full replacement for Windows PowerShell.

10:30 am

Coffee Break

Coffee Break

Tuesday June 04, 2019 10:30 am - 11:00 am in


11:00 am

Show me all your Passwords...
Leibniz Room Walter Legowski

Show me all your Passwords...

Tuesday June 04, 2019 11:00 am - 12:00 pm in Leibniz Room


When it comes to passwords, we all have bad habits, let's admit it. And I know some of yours... In this session, we will see how bad we really are, and see how a few lines of PowerShell can help an attacker find passwords all over the place, or help a defender find them before the attacker does... You, Your Passwords, and some PowerShell One-liners... When it comes to passwords, we all have bad habits, let's admit it. And I know some of yours... In this session, we will see how bad we really are, and see how a few lines of PowerShell can help an attacker find passwords all over the place, or help a defender find them before the attacker does... This security flavored session will give us the opportunity to remind some best practices when it comes to dealing with passwords, but mostly be a pretext to have a look at some PowerShell code and various techniques that can be used to find passwords on a system. If you use passwords, this session is aimed at you...
Not so fast! Why my laser-focused goal of reaching blazing speeds was all wrong.
Red Room Chrissy LeMaire

Speakers
Chrissy LeMaire

Chrissy LeMaire

NATO Special Ops HQ


Ever wrote code you regret? I once gave a talk about importing CSV to SQL Server at blazing speeds. The session even came with its own command! A command that was mostly unusable in the real world ???? Join me as I dissect my old code and share what I did differently in the new rewrite. Ever wrote code you regret? I once gave a talk about importing CSV to SQL Server at blazing speeds. The session even came with its own command, Import-CsvToSql. The speed was addictive: 260,000 rows per second! But that speed came at the cost of reliability. Only a small number of my CSV files were perfect enough to parse. Frustrated, I found myself looking for other tools. I never used my own command, because I never expected it to work. Countless GitHub issues later, I rewrote the entire command with a newly found focus on reliability and user-enjoyability. Join me as I highlight the issues with my old code and share what I did differently in the rewrite of what is now Import-DbaCsv.
How Memory Usage affects Performance
Blue Room Staffan Gustafsson

How Memory Usage affects Performance

Tuesday June 04, 2019 11:00 am - 12:00 pm in Blue Room

Speakers

In this session you'll learn how Memory Usage effects Performance, and how you can speed up your scripts by coding accordingly.
This session will be centered around memory usage patterns and its effect on performance. As a case study we look at Import-CSV and the Json cmdlets to see the effect on memory allocation and GC pressure. By changing the code to be allocate less, we can show significant performance improvements. We will touch on the Garbage Collector, it’s generational behavior and take a high level view of what the garbage collector needs to do. The session will introduce dotMemory – a tool to analyze the memory allocation patterns of a program, and the cost of these allocations. In the end we’ll go nuclear – Rewriting PSObject to use significantly less memory. This is achieved by taking a look at the memory layout of a PSObject, and using that knowledge to remove unnecessary sub-objects, saving on the object headers, shared lock objects, less pointer chasing etc. The beginning of this session should be easy to follow along for the more technically interested part of the community. The last part of the session will be quite low level.

12:00 pm

Lunch Break
Bonatz Room

Lunch Break

Tuesday June 04, 2019 12:00 pm - 01:00 pm in Bonatz Room

LunchBreak Session 3
Leibnitz Hall

LunchBreak Session 3

Tuesday June 04, 2019 12:00 pm - 01:00 pm in Leibnitz Hall

This session is for delegates and last-minute ideas. If you ever wanted to present, here is your chance to test-drive! Come and cheer up your peers while enjoying your lunch, and listen to various real-life topics from the field. All attendees can apply for lunchbreak sessions during the conference. The presentations will be published during the conference.
LunchBreak Session 1
Red Room

LunchBreak Session 1

Tuesday June 04, 2019 12:00 pm - 01:00 pm in Red Room

This session is for delegates and last-minute ideas. If you ever wanted to present, here is your chance to test-drive! Come and cheer up your peers while enjoying your lunch, and listen to various real-life topics from the field. All attendees can apply for lunchbreak sessions during the conference. The presentations will be published during the conference.
LunchBreak Session 2
Blue Room

LunchBreak Session 2

Tuesday June 04, 2019 12:00 pm - 01:00 pm in Blue Room

This session is for delegates and last-minute ideas. If you ever wanted to present, here is your chance to test-drive! Come and cheer up your peers while enjoying your lunch, and listen to various real-life topics from the field. All attendees can apply for lunchbreak sessions during the conference. The presentations will be published during the conference.

01:00 pm

PSCore6.2 and the Future of PowerShell
Leibniz Hall Steve Lee, Joey Aiello

PSCore6.2 and the Future of PowerShell

Tuesday June 04, 2019 01:00 pm - 02:00 pm in Leibniz Hall

Speakers
Steve Lee

Steve Lee

PowerShell Team
Joey Aiello

Joey Aiello

PowerShell Team


PowerShell Core 6.2 enables automation in a consistent way for heterogenous environments.  This talk will cover some of the new capabilities in PSCore6.2, highlights from the community, and lessons learned from this Open Source project.  In addition, we’ll discuss future direction of PSCore6.3+.

Pester internals and concepts
Red Room Jakub Jareš

Pester internals and concepts

Tuesday June 04, 2019 01:00 pm - 02:00 pm in Red Room

Speakers
Jakub Jareš

Jakub Jareš

CN Group s.r.o.


You learned the syntax of Pester and now you wonder what is behind it? Or maybe, you prefer learning from the bottom up? In any case join me for this session and I will show you the basic building blocks of Pester, the mechanisms used and how they are implemented. I will take each fundamental part of Pester (assertions, mocking, test-runner, code-coverage...) and show a minimal implementation of it, to describe the basic idea behind it. Then we will spend some time improving the implementation to be closer to the real implementation in Pester, and talk about the limitations and tradeoffs that needed to be made. * Updated from last year with more info on scoping, and additional info on aliases and how the can be used to mock inside of self-contained scripts.
Supercharge your command line productivity with PSReadLine
Blue Room Anthony Allen

Supercharge your command line productivity with PSReadLine

Tuesday June 04, 2019 01:00 pm - 02:00 pm in Blue Room

Speakers
Anthony Allen

Anthony Allen

, Snow Software


When you visit this session, you will learn how to use PSReadLine effectively to reduce your keystroke count when working from the command line. 
You probably know that PSReadLine gives you syntax highlighting and history searching, but in this session I'll show how you some advanced multi-line editing techniques as well as how you can run PowerShell scriptblocks against your command line input to really supercharge your productivity. PSReadLine is probably one of the most underused modules that have shipped with PowerShell since v5.0. A lot of people are aware of history searching and syntax highlighting, but this session will show the true strength of PSReadLine. We will see how you can use PowerShell script blocks to run actions against, and modify the current input to the command line via key handlers and the PSConsoleReadLine object, as well as some handy tips and tricks to make using the command line a much more productive experience.

02:00 pm

Coffee Break

Coffee Break

Tuesday June 04, 2019 02:00 pm - 02:15 pm in


02:15 pm

Malicious Payloads vs Deep Visibility: A PowerShell Story
Leibniz Room Daniel Bohannon

Malicious Payloads vs Deep Visibility: A PowerShell Story

Tuesday June 04, 2019 02:15 pm - 03:15 pm in Leibniz Room

Speakers
Daniel Bohannon

Daniel Bohannon

MANDIANT/FireEye


PowerShell has surged in popularity for automation enthusiasts & malware authors alike. Come experience a technical buffet of in-the-wild malicious PowerShell payloads from 4+ years of Incident Responses & see why PowerShell’s defensive visibility is now driving many attackers away from PowerShell. For over a decade PowerShell has empowered administrators, DevOps practitioners and automation enthusiasts to accomplish significant tasks with relative ease. However, malicious threat actors have also harnessed PowerShell’s capabilities by writing extensive offensive tools and frameworks in PowerShell. The PowerShell team has countered these malicious trends with adding numerous defensive enhancements to PowerShell including extremely deep logging visibility (like ScriptBlock, Module and Transcription logging) as well as blocking capabilities and interfaces like the AntiMalware Scan Interface (AMSI). This talk draws from over four years of Incident Response experience to lay out a technical buffet of in-the-wild malicious PowerShell payloads and techniques. In addition to diving deep into the mechanics of each malicious example, this presentation will highlight forensic artifacts, detection approaches and the deep visibility that the latest versions of PowerShell provides security practitioners to defend their organizations against the latest attacks that utilize PowerShell. So if you are new to security or just want to learn about how attackers have used PowerShell in their attacks, then this talk is for you. If you want to see what obfuscated and multi-stage, evasive PowerShell-based attacks look like under the microscope of PowerShell deep inspection capabilities, this talk is for you. And if you want to see why these security advancements to PowerShell are causing many attackers to shift their tradecraft development away from PowerShell, this talk is for you.
Creating and managing AWS Infrastructure with PowerShell
Red Room Martin Beeby

Creating and managing AWS Infrastructure with PowerShell

Tuesday June 04, 2019 02:15 pm - 03:15 pm in Red Room

Speakers

In this session we will present a deep dive into techniques and services to  create and manage AWS cloud infrastructure. We will demonstrate using just the AWS Tools for PowerShell as well as cover approaches using PowerShell in conjunction with other AWS services and technologies such as Systems Manager, CloudFormation and Serverless approaches. Once created, we will also discuss and demonstrate options and best practices for monitoring your infrastructure.

PDF Hacks with PowerShell
Blue Room Christian Imhorst

PDF Hacks with PowerShell

Tuesday June 04, 2019 02:15 pm - 03:15 pm in Blue Room

Speakers
Christian Imhorst

Christian Imhorst

, BSH Hausgeräte GmbH


When you visit this session, you will be able to manipulate content from PDF documents and manage PDF manipulation directly from PowerShell.
Do you work with PDFs on a regular basis and want to automate your processes with PowerShell? Then this talk is right for you. You will learn how to create and manipulate PDF files in PowerShell with the .NET PDF library iTextSharp and we will cover a range of PDF functionality with PowerShell Do you work with PDFs on a regular basis and want to automate your processes with PowerShell? If you think that PDFs are slow to load, slow to print, unsearchable and that you cannot cut and paste from a PDF with PowerShell then this talk is right for you. After this, you will learn how to create and manipulate PDF files in PowerShell with the free .NET PDF library iTextSharp. We will cover a range of PDF functionality with PowerShell, from the simple to the more complexe.

03:15 pm

Coffee Break

Coffee Break

Tuesday June 04, 2019 03:15 pm - 03:30 pm in


03:30 pm

Cloudify your Windows fileserver
Leibniz Room Jan Egil Ring

Cloudify your Windows fileserver

Tuesday June 04, 2019 03:30 pm - 04:30 pm in Leibniz Room

Speakers

In this session you will get to know what Azure File Sync is and how you can take advantage of it if your file servers isn`t going anywhere any time soon – of course you will also get to see how the setup and configuration can be fully automated using PowerShell.
Still having file servers on-prem? In this session we will look at how to cloudify your file servers by leveraging Azure File Sync - a new service making it possible to tier data to Azure, totally transparent to end users and applications. Still having file servers on-prem? Even if users has moved to Sharepoint or other modern platforms? Hosting several TBs of data for file servers on your shiny all-flash SAN might be very overkill, but that's the reality for many companies due to legacy applications which won`t go away anytime soon. In this session we will look at how to cloudify your file servers by leveraging Azure File Sync - a new service making it possible to tier data to Azure, totally transparent to end users and applications. The service can even replace Distributed File System Replication (DFS-R)! You will also get to see how to fully automate the setup of a Windows Server 2019 file server running Server Core using PowerShell.
DSCPullServerAdmin - An Admin module for DSC PullServer Database management
Red Room Ben Gelens

DSCPullServerAdmin - An Admin module for DSC PullServer Database management

Tuesday June 04, 2019 03:30 pm - 04:30 pm in Red Room

Speakers
Ben Gelens

Ben Gelens

Inspark B.V.


After this session, you will know how you can “migrate” your existing Pull Servers based on edb or mdb database to the new SQL backed Pull Server running on Server 1803/2019 with some help from DSCPullServerAdmin! (Also some internals and other management tasks will be discussed/demoed)

Are you still running a Pull Server using MDB or EDB and want to move to the new SQL backend? This module got you covered! It also supports the full suite of tasks you can think off for all the supported Database types. Come and see how easy it has become to manage your Pull servers and migrate to other formats when needed!

Generating infrastructure documentation (Word, Excel, SQL) for AD, Exchange, Office 365 in couple of steps
Blue Room Przemysław Kłys

Speakers

Documentation in IT is a single most neglected topic in almost all companies. And even if documentation exists it’s heavily outdated. What if you could create AD, Exchange and Office 365 documentation that is always up to date? Delivered to your file share, email on weekly basis? This talk is based on PSWinDocumentation module which is the module I’ve created. When I created documentation for my systems I noticed that it never survived the test of time. After a few weeks, months it was always outdated. Things changed, few things happened and updating it over and over again was just too time-consuming. PSWinDocumentation (https://github.com/EvotecIT/PSWinDocumentation) can deliver Word and Excel documents (along with SQL export if needed) for your Active Directory, Exchange, Office 365 so it’s always up to date.

04:30 pm

Coffee Break

Coffee Break

Tuesday June 04, 2019 04:30 pm - 04:45 pm in


04:45 pm

Creating and hosting beautiful websites with PSHTML & Polaris
Leibniz Room Stéphane van Gulick

Creating and hosting beautiful websites with PSHTML & Polaris

Tuesday June 04, 2019 04:45 pm - 05:45 pm in Leibniz Room


Without the right tools, building a website or creating simple HTML reports can be a dauting task. PSHTML simplifies this proces by providing a HTML DSL for PowerShell. When combined with Polaris, it shines even more, and allows to create beautifull looking sites using the Powershell language only. Generating HTML from Powershell is not new, and has been possible since the first version of Powershell. With the introduction of PSHTML, it simply got to the next stage. In this session you will learn How PSHTML will change your way of creating HTML reports and even teach you how to create and host your own Website(s), all from within the Powershell prompt. You will learn that this process has radically changed, is now standardized and became piece of cake to do (and of course, super fun! ;)) Technologies such as PSHTML, Polaris, Polwershell classes, NodeJS, HTML (Some Javascript) will be presented / discussed during this talk.
YAML Engineering for PowerShellers
Red Room Gael Colas

YAML Engineering for PowerShellers

Tuesday June 04, 2019 04:45 pm - 05:45 pm in Red Room

Speakers

Join this session to learn the YAML format, advanced use-cases in DevOps context, and how to use it in your PowerShell scripts!

While JSON is the go-to format for APIs and system to system communication, YAML is becoming the first choice for configuration files, and for good reasons: it's terse, descriptive, and declarative!

Come and learn why it's the first choice for DevOps tooling and how to work with YAML in PowerShell! Whether it's for configuration management (Ansible, Chef attributes, Puppet Hiera, DSC Datum), CI tools configuration (Azure DevOps, AppVeyor, Gitlab CI) or other tools enabling DevOps practices (gitversions, Test-Kitchen), YAML is growing in popularity.

Even the PowerShell team is wondering if they should provide ConvertFrom-Yaml & ConvertTo-Yaml as built-in commands in PowerShell Core (#3607)! In this session, we'll demystify the format, show where and why it really shines, along with the existing PowerShell tooling to create, modify and consume YAML files and explore some use cases you might come across.

After you watched this, you will be able to write YAML files painlessly and understand how they relate to PowerShell objects when using the powershell-yaml module. You will get familiar with the manipulation possible, how to serialise objects to YAML, update your files, and understand some differences with the more common JSON and PSD1 format, along with the benefits of YAML in a DevOps context. You will also get a quick overview of some advanced usage of YAML for configuration data, similar to what Puppet Hiera uses, made possible by the Datum module.

You'll see how to access file data in ways similar to key/value stores, accessible via the dot notation (as object oriented programming do), and some advanced lookup capabilities and data merging features that can remind you of the Group Policy Object tree and inheritance.
RegEx 4.0 - ^(?<pp>a )?must-have tool(?(pp)|s)$
Blue Room Mathias Jessen

RegEx 4.0 - ^(?<pp>a )?must-have tool(?(pp)|s)$

Tuesday June 04, 2019 04:45 pm - 05:45 pm in Blue Room

Speakers

Another RegEx medium-deep dive, focused on reusable tools and patterns (pun definitely intended). RegEx is versatile and awesome, but many fear it's write-only nature and steep learning curve. In this talk we'll abstract away common patterns into reusable PowerShell tools and discuss their benefits .NET Regex is an awesomely powerful string matching engine, and it offers us the ability to quickly parse and test variable string input. But it's learning curve is steep, it's features mindbending and convoluting, and we all know how you can never remember that one construct that you're sure what just do the trick! So let's have a look at meaningful ways to incorporate regex' power into more user-friendly PowerShell-based utilities! I expect this presentation to be more fun than technically enlightening (assuming the audience will find mind-bending regex tricks "fun")

05:45 pm

Evening Event Come Together
Leibniz Hall

Evening Event Come Together

Tuesday June 04, 2019 05:45 pm - 06:30 pm in Leibniz Hall


06:30 pm

Walk to Zoo
Leibniz Hall

Walk to Zoo

Tuesday June 04, 2019 06:30 pm - 06:45 pm in Leibniz Hall

We meet to walk to the Zoo Event as a group. Make sure you bring your badge, it's your ticket to the Zoo! The walk is about 5 minutes. If you cannot walk, you can take the tram or a cab. It's a distance of approximately 1km / 0.6mi.
If you'd rather like to check into your hotel first, or refresh yourself, please feel free. Just make sure you are at the Zoo main entrance by 18:45 (Address: Adenauerallee 3, 30175 Hannover)
You don't need to bring any money: all drinks, food & desert are on us.

07:00 pm

Evening Event Zoo
Zoo Hannover

Evening Event Zoo

Tuesday June 04, 2019 07:00 pm - 11:59 pm in Zoo Hannover

Don't miss our great Evening Event at the Zoo Hannover! Just bring your badge, it is your ticket to the Zoo and all services. No money needed: all drinks (alcoholic and non-alcoholic), delicious eat-until-you-blast dinner (including but by far not limited to vegetarian diet), and tasty deserts (coffee specialties, hand-made ice cream, etc.) are on us.
The Zoo Event is the perfect place to calm down and hang out after a busy first day, get in touch with fellow delegates and speakers. If you are new to psconf.eu and travelling alone, don't worry: enjoy our country receptions, and make friends with fellow professional PowerShellers from your region. As the evening progresses, we all typically merge into one friendly group of friendly people from many many countries. 
Stay as long as you please. The event does close at 1am so you have a bit of sleep until the next sessions start at 8:30am. 
Guest tickets are available. If you'd like to bring along your partner or friends, please approach our friendly staff any time during day 1. Guest tickets are EUR 80,- which is the price we pay the Zoo.

 
Wednesday, June 05 2019
 

08:30 am

Tracking Activity and Abuse of PowerShell
Leibniz Room Carlos Perez

Tracking Activity and Abuse of PowerShell

Wednesday June 05, 2019 08:30 am - 09:30 am in Leibniz Room

Speakers

Many know about PowerShell logging of actions and how they are being leveraged by EDR and SIEM vendors but still many do not know how to leverage the information in this events outside the ScriptBlock event. The addition of more visibility in to PowerShell actions with Windows PowerShell 4.1 and 5.0 with new EventLogs and AMSI greatly aided defenders and vendors in the detection, tracking and blocking of techniques that leverage PowerShell. Presentation will cover why security professionals both defense and attack simulation love PowerShell and will also cover some of the most common techniques in leveraging PowerShell, how the event log entries from version 2.0 all the way to 6.x can be leverage to track activity and abuse.
Lessons from PSCore6 Release Automation
Red Room Steve Lee

Lessons from PSCore6 Release Automation

Wednesday June 05, 2019 08:30 am - 09:30 am in Red Room

Speakers
Steve Lee

Steve Lee

PowerShell Team


The PowerShell team has invested time and resources to build out automation leveraging Azure and, of course, PowerShell to make releases more consistent, efficient, compliant, and with quality.  Learn the challenges of concurrent releases across multiple platforms, how we overcame them, and how you can leverage our tooling for your own projects.

Creating Microsoft Word documents without Word installed
Blue Room Przemysław Kłys

Creating Microsoft Word documents without Word installed

Wednesday June 05, 2019 08:30 am - 09:30 am in Blue Room

Speakers

This session is about creating Microsoft Word documents in PowerShell. It's easy, intuitive and allows for creating Word documents even on workstations or servers where Word is not present. After this session, you will be able to create both simple and more advanced Word documents with code. For past few years when you wanted to create Word documents in PowerShell, you had to use COM objects to create any Word documents. It required Word to be installed on a workstation and was subject to many issues if people were working on that workstation. After this session, you will be able to create Word documents - from simple ones to more complicated - allowing you to help your colleagues from work to automate few things that were not possible before, or were subject to potential issues. The talk will be based on https://github.com/EvotecIT/PSWriteWord module which is my work.

09:30 am

Coffee Break

Coffee Break

Wednesday June 05, 2019 09:30 am - 09:45 am in


09:45 am

HoneyBotting: Extracting confessions from client-side implants
Leibniz Room Lee Holmes

HoneyBotting: Extracting confessions from client-side implants

Wednesday June 05, 2019 09:45 am - 10:45 am in Leibniz Room

Speakers
Lee Holmes

Lee Holmes

Microsoft


While worms and automated attacks are a huge danger, persistent attacks that leverage interactive remote command and control servers can be especially damaging. But control of a remote machine requires one major thing: cooperation of the compromised. What if our machines don’t play along? ?? While worms and automated attacks are a huge danger, persistent attacks that leverage interactive remote command and control servers can be especially damaging. But control of a remote machine requires one major thing: cooperation of the compromised. What if our machines don’t play along? ??
Test infrastructure as code?
Red Room Mark Warneke

Test infrastructure as code?

Wednesday June 05, 2019 09:45 am - 10:45 am in Red Room

Speakers
Mark Warneke

Mark Warneke

, Microsoft Deutschland


Deep dive into infrastructure as code testing. ARM template, design, development, test and release. How to test your Infrastructure as code implementation with PowerShell using Pester and Azure DevOps. # Introduction We are going to look at how cloud automation, infrastructure as code can be structured and used as a software development process. Taking a common software development approach we are going to look at each phase and see which tools can be used to accomplish each phase. The ideas are based on the lessons learned of an actual infrastructure as code project. # Abstract This session will dive deep into the testing approach of an infrastructure as code project written in PowerShell. We will create a PowerShell module that will allow us to deploy an infrastructure as a service resource using a template. The solution will be fully tested, including unit test of functions, templates, integration and an end to end test. # Tools Leveraging tools like Pester, Script Analyzer, Best Practices Checker, Azure DevOps and custom scripts to create a mature and reliable infrastructure as code solution. # Objectives At the end of this talk you will be able to: * create your own test suite for your infrastructure as code project. * can articulate why infrastructure as code testing is necessary and can increase you quality of delivery. * get started with your next infrastructure as code project quicker and much more mature.
PowerShell on RaspberryPi - Let's open a door for your PowerShell ideas
Blue Room Daniel Silva

PowerShell on RaspberryPi - Let's open a door for your PowerShell ideas

Wednesday June 05, 2019 09:45 am - 10:45 am in Blue Room

Speakers
Daniel Silva

Daniel Silva

Software developer, Qevo


In this session we will get to know the Pi better, why and how it can run PowerShell and discuss what can and cannot be achieved when they join forces. Debugging will also be coveredPumped about RaspberryPi? Did you know that it can run PowerShell? In this presentation we will get to know the Pi better, why and how it can run PowerShell and discuss what can be achieved when they join forces. Debugging will also be covered, as it is incredibly useful and convenient. IoT is trending. PowerShell is trending. RaspberryPi is a credit card-sized affordable computer that is used on many different projects, and now you can integrate PowerShell on them. In this presentation I will: - Introduce RaspberryPi; - Explain why can it run PowerShell; – Demonstrate how easy it is to setup PowerShell on a Raspberry Pi; – Tell you how and why this is cool; – Show the benefits and limitations; - Demonstrate how to debug a script running on the raspberry; - Give a sneak peak on using PowerShell to interact with sensors;

10:45 am

Coffee Break

Coffee Break

Wednesday June 05, 2019 10:45 am - 11:00 am in


11:00 am

We trust in the community
Leibniz Room Ravikanth Chaganti

We trust in the community

Wednesday June 05, 2019 11:00 am - 12:00 pm in Leibniz Room

Speakers
Ravikanth Chaganti

Ravikanth Chaganti

PowerShell Magazine


PowerShell community is the best out there. Several product teams at Microsoft envy this. This session demonstrates this fact using some interesting examples from the community! 50% of the pull requests in the PowerShell GitHub repository are from the community! No kidding. This alone speaks a lot about the strength and talent in the PowerShell community. Apart from these pull requests, there are several hundreds of community developed PowerShell modules in the open source that are used by another several hundreds or thousands of people. This session show cases some very useful PowerShell modules developed by the community by demonstrating real-world use cases.
Custom Pester assertions are the vocabulary of your tests
Red Room Jakub Jareš

Custom Pester assertions are the vocabulary of your tests

Wednesday June 05, 2019 11:00 am - 12:00 pm in Red Room

Speakers
Jakub Jareš

Jakub Jareš

CN Group s.r.o.


Pester ships with multiple useful assertions, but you are not limited to using just them. Learn how to extend the Should keyword, or write your own assertion suite altogether which will better represent what you are testing and make your test more readable. Pester assertions are great, but often they are very limiting. When testing something out of ordinary, people often fallback to using Should -Be $true, which makes their tests fail with something like "Expected True but got False.". This message does not describe any context of why the test failed, and the test code itself also leaves a lot to be desired in terms of readability. To avoid this I will show you how to extend the Should keyword with custom operators such as Should -BeInRange -Min 0 -Max 10, to better represent what you are testing. This will also help you to get rid of a lot of boiler plate code. And then we will have a look at writing your own assertion suite, testing it and plugging it into Pester.
A Palantir in your Hands! - WEF
Blue Room Mateusz Czerniawski

A Palantir in your Hands! - WEF

Wednesday June 05, 2019 11:00 am - 12:00 pm in Blue Room


How to set up basic Windows Event Collector servers using Palantir guidance. How Azure Log Analytics can help you see through Enemy's actions! After this session you'll understand what WEF is and how to set up all moving blocks. Just deploy and use! WEF is free log forwarding solution from Microsoft. Yet it's not widely deployed. Adding some automation to deploy it with Palantir guidance and Azure as an option to analyze the stream of data!

12:00 pm

Lunch Break
Bonatz Room

Lunch Break

Wednesday June 05, 2019 12:00 pm - 01:00 pm in Bonatz Room

LunchBreak Session 6
Leibnitz Hall

LunchBreak Session 6

Wednesday June 05, 2019 12:00 pm - 01:00 pm in Leibnitz Hall

This session is for delegates and last-minute ideas. If you ever wanted to present, here is your chance to test-drive! Come and cheer up your peers while enjoying your lunch, and listen to various real-life topics from the field. All attendees can apply for lunchbreak sessions during the conference. The presentations will be published during the conference.
LunchBreak Session 4
Red Room

LunchBreak Session 4

Wednesday June 05, 2019 12:00 pm - 01:00 pm in Red Room

This session is for delegates and last-minute ideas. If you ever wanted to present, here is your chance to test-drive! Come and cheer up your peers while enjoying your lunch, and listen to various real-life topics from the field. All attendees can apply for lunchbreak sessions during the conference. The presentations will be published during the conference.
LunchBreak Session 5
Blue Room

LunchBreak Session 5

Wednesday June 05, 2019 12:00 pm - 01:00 pm in Blue Room

This session is for delegates and last-minute ideas. If you ever wanted to present, here is your chance to test-drive! Come and cheer up your peers while enjoying your lunch, and listen to various real-life topics from the field. All attendees can apply for lunchbreak sessions during the conference. The presentations will be published during the conference.

01:00 pm

Use PowerShell for prototyping
Leibniz Room Stefan Stranger

Use PowerShell for prototyping

Wednesday June 05, 2019 01:00 pm - 02:00 pm in Leibniz Room

Speakers

In this presentation you will be inspired to use your PowerShell knowledge to create a first prototype for your application in Azure has benefits.
The journey from concept to market is typically a long road riddled with hidden obstacles and unforeseen turns. Why not use PowerShell to create a prototype? With your PowerShell knowledge you can create a first Minimal Viable Product and start gathering feedback from your customers.
A prototype is an early sample, model or release of  products built to test a concept or process or to act as a thing to be replicated or learned from. With your first PowerShell created prototype you are able to get feedback fast without too much development effort.
Replicating SharePoint Data from Anywhere to Anywhere using PowerShell
Red Room Chrissy LeMaire

Replicating SharePoint Data from Anywhere to Anywhere using PowerShell

Wednesday June 05, 2019 01:00 pm - 02:00 pm in Red Room

Speakers
Chrissy LeMaire

Chrissy LeMaire

NATO Special Ops HQ


Imagine if there you could pipe CSV or SQL query data right into a SharePoint list. Or export SharePoint list data to SQL Server or a whole different SharePoint farm. PowerShell and CSOM make it possible and fun. An MIT-licensed module makes it free. As a former SharePoint administrator and developer who became proficient at PowerShell, I had the chance to create the data replicator of my dreams; one that even includes preserving author/editor, timestamps and more. Join me as I demonstrate how easy it is to migrate SharePoint list data from on-prem to the cloud and back again.
PowerShell Core - from an OP's perspective
Blue Room Thorsten Butz

PowerShell Core - from an OP's perspective

Wednesday June 05, 2019 01:00 pm - 02:00 pm in Blue Room

Speakers
Thorsten Butz

Thorsten Butz

Thosten Butz Consulting


PowerShell Core and VScode became shining stars in the hands of all those PowerShell hipsters who take pride in taking two steps at a time. But what about the busy IT admin trying to keep his eco system running? Where does he/she benefit from the next gen shell? PowerShell Core and VScode became shining stars in the hands of all those PowerShell hipsters who take pride in taking two steps at a time. But what about the busy IT admin trying to keep his eco system running? Where does he/she benefit from the next gen shell? We will talk about the latest improvements in PowerShell Core, also talking about the differences and challenges on any supported OS. We will have a very close look on the module support in PwSH, focussing the **"Windows Compatibilty module" (aka rModule)** and the ability to do daily tasks such as creating AD Users or Exchange mailboxes. And we will talk about **remoting**: from ANY client to ANY server - vision or reality?

02:00 pm

Coffee Break

Coffee Break

Wednesday June 05, 2019 02:00 pm - 02:15 pm in


02:15 pm

Lean on me: Managing dependencies in PowerShell
Red Room Chris Gardner

Lean on me: Managing dependencies in PowerShell

Wednesday June 05, 2019 02:15 pm - 03:15 pm in Red Room

Speakers
Chris Gardner

Chris Gardner

, Section8Games


There are tons of great modules around that we can make use of in our PowerShell scripts and modules but how do we document what we're using and ensure it is available where we need it? At the end of this session you'll have a good idea about how to do just that. When writing PowerShell scripts and modules we often want to make use of external functions and commands so that we don't have to duplicate existing work, however ensuring these dependencies are available on the systems running our code isn't always straightforward or obvious. In this session we'll look at a variety of methods of handling dependencies in PowerShell modules and scripts, from ensuring you have them when developing, enabling testing in Continuous Integration tools, and getting them to your endpoints where they are needed.
PowerShell in Azure Functions
Red Room Joey Aiello, Tyler Leonhardt

PowerShell in Azure Functions

Wednesday June 05, 2019 02:15 pm - 03:15 pm in Red Room

Speakers
Joey Aiello

Joey Aiello

PowerShell Team
Tyler Leonhardt

Tyler Leonhardt

Microsoft


Azure Functions is a serverless platform that enables you to write code without having to worry about managing infrastructure. Learn about how PowerShell is being integrated with Azure Functions to make it easier than ever to execute your scripts in the cloud.

Last Night a PowerShell DJ Saved My Life
Blue Room Jakob Gottlieb Svendsen

Last Night a PowerShell DJ Saved My Life

Wednesday June 05, 2019 02:15 pm - 03:15 pm in Blue Room


This will be fun! I will actually create a virtual MIDI controller. So there will be talk about how MIDI works. Using powershell to control traktor DJ app including a 2 communication (so powerShell knows every beat and tempo etc. to make stuff happen in sync with music!). Automate your DJ set! Have more time for dancing and waving to the fans! Just enjoy, no more actual work! Learn how to be a real DJ super star! Warning! This session can contain traces of heavy beats!

03:15 pm

Coffee Break

Coffee Break

Wednesday June 05, 2019 03:15 pm - 03:30 pm in


03:30 pm

Generating Azure PowerShell (and more) cmdlets via AutoRest
Leibniz Room Garrett Serack

Generating Azure PowerShell (and more) cmdlets via AutoRest

Wednesday June 05, 2019 03:30 pm - 04:30 pm in Leibniz Room

Speakers
Garrett Serack

Garrett Serack

Senior Open Source Software Engineer, Microsoft Corp.


A look into AutoRest and how we’re using it to build Azure PowerShell’s generated cmdlets. Generate your own cmdlets from OpenAPI (swagger) files. Learn how we are driving consistency into the ‘Az’ commands and ‘instantaneous’ support for Azure API’s. Do you want to target multiple clouds with Az scripts? Install the latest version of Az without being impacted by breaking changes? Azure profiles will be built into Az cmdlets and solve these problems and more.
The PowerShell CDK DSL and Infrastructure as Code
Red Room Kenneth Hansen

The PowerShell CDK DSL and Infrastructure as Code

Wednesday June 05, 2019 03:30 pm - 04:30 pm in Red Room

Speakers

TBD
Pester + Azure (Monitor + Automation)
Blue Room Mateusz Czerniawski

Pester + Azure (Monitor + Automation)

Wednesday June 05, 2019 03:30 pm - 04:30 pm in Blue Room


Manage and run your Pester tests on-premises and let Azure work for you! After this session you'll be able to set up an OVF Server with Pester checks and let Azure Log Analytics, PowerBI and Azure Automation work for you! With a bonus - a configuration library and git-enabled documentation! Using Pester tests for Operation Validation is not a new concept. But adding a bit of Azure adds a new flavor. Log Analytics makes storing , viewing and navigating through the results in time a bit easier. Azure Monitor helps with alerting and Azure Automation with remediation, while PowerBI shines like a star!

04:30 pm

Coffee Break

Coffee Break

Wednesday June 05, 2019 04:30 pm - 04:45 pm in


04:45 pm

HowTo Audit Active Directory Password usage
Leibniz Room Claus Thude Nielsen

HowTo Audit Active Directory Password usage

Wednesday June 05, 2019 04:45 pm - 05:45 pm in Leibniz Room


When you visit this session, you will learn how to detect if your admins are reusing the credentials on multiple accounts.

Does your company have a policy that dictates administrators needs at least 2 accounts ? Do you think your admins, would use the same password on their admin and regular accounts ? Are any of these passwords on the Troy Hunts HaveIBeenP0wned list ? In this session, I will cover how to extract password hashes from Active Directory to allow further analysis of password usage across a domain.

We will cover user accounts with the same password, people who have used the same password multiple times (Admins resetting the password to the same, not adhering to the AD password policy). All the extracted data is stored in SQLite, to ease analysis. This also made it possible to load all 500 million password hashes from HaveIBeenP0wned, to compare them against your user's passwords, to see if anyone have "insecure" passwords.
Enhancing DSC with Puppet
Red Room John O'Connor

Enhancing DSC with Puppet

Wednesday June 05, 2019 04:45 pm - 05:45 pm in Red Room

Speakers

Although you can use DSC on its own, it improves with Puppet which provides additional rich management capabilities, including node classification, status of nodes, role-based access control etc. Tracking and reporting change becomes easier - a must for any company requiring compliance auditing. The talk shows how Puppet extends DSC by providing historical change tracking and reporting including: - Configuration results and history are available on the target nodes, as well as in the Puppet server web UI - The web UI provides a single interface that shows the status of your environment down to the individual servers. - It shows the result of each DSC resource execution and a log of the execution. - Reports are held centrally across all nodes allowing you to investigate over time how things change in your environment. The talk presents an overview of these features giving some concrete examples of actual administration tasks
Attack Surface Reductions for Adventurous Admins
Blue Room Mathias Jessen

Attack Surface Reductions for Adventurous Admins

Wednesday June 05, 2019 04:45 pm - 05:45 pm in Blue Room

Speakers

PowerShell can be extremely helpful when building robust and auditable security solutions for enterprise networks. This talk will take you through the basics of PowerShell Remoting (incl. JEA) and show how to reduce the attack surface of Windows machines without sacrifising end user experience In the course of security engineering challenges I've had to solve professionally over the years, I've seen (and contributed to) a number of low-cost high-yield defensive applications for intrusion preventation, detection and mitigation, primarily in Windows-based enterprise networks, and most have either been aided by or even completely dependent on PowerShell. This talk will cover aspects of Constrained Endpoints (including JEA), basic defensive coding, and then go through a couple of real-world examples of where PowerShell can be leveraged to reduce risk of compromise on your servers and clients.

 
Thursday, June 06 2019
 

08:30 am

Learn Classes with Class {}
Leibniz Room Stéphane van Gulick

Learn Classes with Class {}

Thursday June 06, 2019 08:30 am - 09:30 am in Leibniz Room


In this talk, you will learn the true meaning of using classes. we will takle the advanced concepts of Object Oriented Programming (OOP) applied to the PowerShell language, and learn how to REALLY take advantage of Classes. I will provide tools, experience and guidance for your future OOP projects During this talk, I will tell the story of how I got to learn classes, implemented them, and have improved existing designs throughout my learning process. I will highlight all the mistakes I have made and the common pitfalls to avoid, by demonstrating the errors made in real projects with direct experience from the field. Throughout this talk, we will dive into Object Oriented concepts and learn how these are currently applied in well known powershell projects. At the end of this talk, the audience will leave with more tools to make working with classes easier, have more knowledge and potentially a bridge to a whole new paradigm. If this still wasn't clear, at the end of this talk, you will be able to answer the question: Why should I use classes?
PowerShell DSC and AWS Systems Manager
Red Room Narayanan Lakshmanan, Kenneth Hansen

PowerShell DSC and AWS Systems Manager

Thursday June 06, 2019 08:30 am - 09:30 am in Red Room

Speakers

TBD
Mr. Brick - Unplugged
Blue Room Jakob Gottlieb Svendsen

Mr. Brick - Unplugged

Thursday June 06, 2019 08:30 am - 09:30 am in Blue Room


Remember MR Brick from last years finale? .. of cause! Who doesnt?!?! :) I would love to some back and show more of him, including new cool stuff such as the Mr BRick PSModule and PSReadline support! From the land of LEGO... The one and only, the legend--Mr. Brick is back! More stable than ever. Mr. Brick won't come alone. He's coming with Azure Automation, Microsoft Flow, Azure Functions, and some new surprises! Don't miss the funniest session at the conference.

09:30 am

Coffee Break

Coffee Break

Thursday June 06, 2019 09:30 am - 09:45 am in


09:45 am

Docker and PowerShell: How to develop your scripts with confidence
Leibniz Room Claus Thude Nielsen

Docker and PowerShell: How to develop your scripts with confidence

Thursday June 06, 2019 09:45 am - 10:45 am in Leibniz Room


When you visit this session, you will learn how to test your PS scripts how they will run in Docker containers

Have you ever written a cool PowerShell script, that you want to share with your Linux colleagues, but they say NO! because they do not want to "infect" their machines with PowerShell. Here we will go through testing and running your scripts in a docker container, making your scripts easy to share. In this session, we will go through some Docker basics and show you how you are able to run your PowerShell scripts in a docker container. This is also a very good way to test your scripts if they are x-plat ready, like if you want to run them in Azure console, which is also run as a Linux based container. We will look at various ways to mount your PowerShell files into a container, and how to edit and run those scripts from within the container.

Don't do that, do this instead: PowerShell worst practices and how to solve them
Red Room Chris Gardner

Don't do that, do this instead: PowerShell worst practices and how to solve them

Thursday June 06, 2019 09:45 am - 10:45 am in Red Room

Speakers
Chris Gardner

Chris Gardner

, Section8Games


In past years at Summit the "3 furies" have shared their insights on various things people do wrong in PowerShell. Let's take that one step further and demo all those things and what you should do instead. We'll explain why you shouldn't do each one, because code without context doesn't help anyone. In past years at PSH Summit the "3 furies" have shared their insights on various things people do wrong in PowerShell. Let's take that one step further and demo all those things and what you should do instead. We'll explain why it's bad and the other way is better, because code without context doesn't help anyone. A lot of talks about "Best Practice" are aimed at showing you what you should be doing but not many take the approach of showing what you shouldn't be doing and how to change it. This can make it more difficult to grasp as it might not easily relate to how someone is currently working or has been working, showing the wrong way to do things is more approachable as everyone was a beginner at some point and many people made the same mistakes. Taking this one step further and providing reasoning why one approach is the wrong or worse way to handle something can also allow people to make an informed decision on using that approach anyway, if their circumstances require it.
[RaspberryPi]::> Control sensors and chips using PowerShell
Blue Room Daniel Silva

[RaspberryPi]::> Control sensors and chips using PowerShell

Thursday June 06, 2019 09:45 am - 10:45 am in Blue Room

Speakers
Daniel Silva

Daniel Silva

Software developer, Qevo


With this session, you will learn how PowerShell can be used to interact with sensors, analyze data that they provide, light up leds, explore the IoT module and other modules that I've developed.
Get-CurrentTemperature. Ever thought that one command could fetch info directly from a sensor? Or even that you can write information to a chip?Ever wanted to be able to control sensors and chips using your PowerShell skills? Join me on this session as I introduce you to the PowerShell.IoT module. PowerShell becoming cross-platform brought a lot of advantages and possibilities. One cool and useful scenario is the possibility to use it to interact with hardware such as sensors and chips. It makes things such as get temperature and light up leds possible using ONLY PowerShell. An huge part of it is possible due to PowerShell.IoT module. During this session, we will explore this module and some others that I've developed which allows us to light up leds (everyone loves leds), display text and much more!

10:45 am

Coffee Break

Coffee Break

Thursday June 06, 2019 10:45 am - 11:00 am in


11:00 am

Extend your PowerShell skills by creating Azure DevOps Extensions
Leibniz Room Stefan Stranger

Extend your PowerShell skills by creating Azure DevOps Extensions

Thursday June 06, 2019 11:00 am - 12:00 pm in Leibniz Room

Speakers

In this presentation you learn how to leverage your existing PowerShell knowledge to create Azure DevOps Extensions.
Using Github for developing your PowerShell projects? Did you know that Azure Pipelines offers free CI/CD with unlimited minutes and 10 parallel jobs for every open source project? After this presentation you can develop your own Azure DevOps Extensions to support you free CI/CD in Azure DevOps.
Lessons learned from the field will help avoid pitfalls and develop Extensions the whole PowerShell community will benefit from. Develop great Azure DevOps Extensions and publish them to the Azure DevOps Marketplace and help the community simplify their CI/CD.
OS image pipeline: Packer, PowerShell, DSC & Chocolatey
Red Room Gael Colas

OS image pipeline: Packer, PowerShell, DSC & Chocolatey

Thursday June 06, 2019 11:00 am - 12:00 pm in Red Room

Speakers

Join this session to learn best DevOps and Cloud practices for building pre-patched & configured Golden Images from code thanks to Hashicorp Packer, PowerShell, DSC & Chocolatey within a Release Pipeline!

Is the time of Golden Images behind us for good? No! It's actually a good model for almost-ready-to-use OS images or VMs. What has changed is the tools to automate and maintain them!

Join this session and discover how to create your own images with PowerShell, DSC, Chocolatey and Hashicorp Packer! The concept of OS Golden Images isn't new, and most seasoned sysadmins have used tools like Ghost, Acronis or just captured images using MDT. But modern practices - as described in Microsoft's Release Pipeline Model whitepaper - apply here: every changes and all automation should start from source control.

Unfortunately some of the old tools aren't suited for modern practices, or need to be rediscovered, like DISM. In this session we'll explore how to use the common tools from the modern SysAdmin's toolbelt (PowerShell, DSC, Chocolatey) to manage OS image creation in a pipeline using Packer. After attending this session you'll understand the principles driving this approach and how Hashicorp Packer, the renowned cross platform OSS tool, help with those challenges.

You'll see how we can use PowerShell and DSC to customise the OS configuration, and pre-install Software with Chocolatey - a Software Management tool - as part of the Image pipeline. Finally, we'll see how we can export different virtual machine templates with the same OS configuration, ready to be used in virtualisation or cloud platforms such as vSphere, HyperV, Azure or AWS.
PowerShell Remoting Internals
Blue Room Paul Higinbotham

PowerShell Remoting Internals

Thursday June 06, 2019 11:00 am - 12:00 pm in Blue Room

Speakers

PowerShell remoting is essential for automation.  It began as a way to fan out scripts to multiple target machines over WinRM.  But there is now PowerShell Direct for WinRM-less connections between host and guest VMs, and you can make remote IPC connections to any local process hosting PowerShell.  PSCore6 supports SSH based remoting for cross-platform work, requiring no WinRM.  This talk will do a deep dive into the internals of PowerShell remoting.

12:00 pm

Lunch Break
Bonatz Room

Lunch Break

Thursday June 06, 2019 12:00 pm - 01:00 pm in Bonatz Room

LunchBreak Session 9
Leibnitz Hall

LunchBreak Session 9

Thursday June 06, 2019 12:00 pm - 01:00 pm in Leibnitz Hall

This session is for delegates and last-minute ideas. If you ever wanted to present, here is your chance to test-drive! Come and cheer up your peers while enjoying your lunch, and listen to various real-life topics from the field. All attendees can apply for lunchbreak sessions during the conference. The presentations will be published during the conference.
LunchBreak Session 7
Red Room

LunchBreak Session 7

Thursday June 06, 2019 12:00 pm - 01:00 pm in Red Room

This session is for delegates and last-minute ideas. If you ever wanted to present, here is your chance to test-drive! Come and cheer up your peers while enjoying your lunch, and listen to various real-life topics from the field. All attendees can apply for lunchbreak sessions during the conference. The presentations will be published during the conference.
LunchBreak Session 8
Blue Room

LunchBreak Session 8

Thursday June 06, 2019 12:00 pm - 01:00 pm in Blue Room

This session is for delegates and last-minute ideas. If you ever wanted to present, here is your chance to test-drive! Come and cheer up your peers while enjoying your lunch, and listen to various real-life topics from the field. All attendees can apply for lunchbreak sessions during the conference. The presentations will be published during the conference.

01:00 pm

PesterSec: Using Pester & ScriptAnalyzer for Detecting Obfuscated PowerShell
Leibniz Room Daniel Bohannon

PesterSec: Using Pester & ScriptAnalyzer for Detecting Obfuscated PowerShell

Thursday June 06, 2019 01:00 pm - 02:00 pm in Leibniz Room

Speakers
Daniel Bohannon

Daniel Bohannon

MANDIANT/FireEye


Attackers obfuscate PowerShell to evade rigid detections. With recent improvements in obfuscation detection, savvy attackers have started to obfuscate less & more selectively to avoid detection. Come learn how PesterSec leverages Pester & ScriptAnalyzer to detect minimally-obfuscated PowerShell. Over the years as attackers have increasingly used PowerShell as an important piece of their offensive toolkit, the PowerShell Team has countered by building deep inspection capabilities into PowerShell that are not found in any other scripting language. However, as defenders began using this new visibility and significantly improving their detection of malicious PowerShell usage, attackers adapted their techniques. As attackers turned to the heavy usage of specific obfuscation techniques, like those found in Invoke-Obfuscation and Invoke-CradleCrafter, to target certain aspects of PowerShell’s ScriptBlock logging, defenders once again had to match this offensive shift with their own shift in detection methodology. Defenders have since turned to various data science approaches, like those built into Revoke-Obfuscation, to more robustly detect heavy PowerShell obfuscation. However, countering offensive projects like PSAmsi have enabled attackers to apply selective obfuscation in minimal quantities to evade specific A/V signatures while falling under the "obfuscation threshold" of newer data science approaches. Come learn how PesterSec combines the power of ScriptAnalyzer and Pester to perform context-specific detections of minimally-obfuscated PowerShell commands and scripts. These platforms also highlight the ease of access to PowerShell’s Abstract Syntax Tree (AST) for any PowerShell practitioner.
Pullaris - A Custom DSC Pull Server written in PS & running on Polaris
Red Room Ben Gelens

Pullaris - A Custom DSC Pull Server written in PS & running on Polaris

Thursday June 06, 2019 01:00 pm - 02:00 pm in Red Room

Speakers
Ben Gelens

Ben Gelens

Inspark B.V.


After this session, you will have seen a replacement for the DSC Pull Server running as PowerShell script on top of Polaris and have learned that it is not that hard.
Want to run your own DSC Pull Server and extend it's capabilities (in an easy way using just PowerShells script) from what is possible inbox? Or just want to see a real world example of PowerShell coded REST API? I present a script based pull server running on Polaris!

The PowerShell Playbook
Blue Room Bartosz Bielawski

The PowerShell Playbook

Thursday June 06, 2019 01:00 pm - 02:00 pm in Blue Room

Speakers

Golf supposed to be the game for gentlemen. But when it comes to code golf – all dirty tricks are on. Interested? Than suite up and come to learn a few tricks that I came up with - and even more I picked up from the best while being crashed by their skills during various code golfs I participated in over the years. 


Is it going to help you write a better code? For sure not - I seriously hope none of the code you persist in any form looks anything like it. But when running things in an interactive console it's all about result, not ceremony. And don't forget - having fun is not forbidden in your day work!

02:00 pm

Coffee Break

Coffee Break

Thursday June 06, 2019 02:00 pm - 02:15 pm in


02:15 pm

Posh-SSH and the lessons learned
Leibniz Room Carlos Perez

Posh-SSH and the lessons learned

Thursday June 06, 2019 02:15 pm - 03:15 pm in Leibniz Room

Speakers

The Posh-SSH module is a PowerShell module for automating tasks via SSH. Come to this session to hear about the lessons learned during the creation of the module by its author. Posh-SSH was Carlos’s first C# project and his first PowerShell module on the PowerShell Gallery. Working on an open source project has brought some challenges—dependence on another open source project, writing documentation, a personal time management…
Enabling enterprise serverless patterns with AWS Lambda and PowerShell
Red Room Andrew Pearce

Enabling enterprise serverless patterns with AWS Lambda and PowerShell

Thursday June 06, 2019 02:15 pm - 03:15 pm in Red Room

Speakers

TBD
Automate your application packaging for Intune
Blue Room Ben Reader

Automate your application packaging for Intune

Thursday June 06, 2019 02:15 pm - 03:15 pm in Blue Room

Speakers
Ben Reader

Ben Reader

, Vigilant.IT


Packaging applications is a chore. Let's fix that and make your job more enjoyable.
in this session, you will learn how to use Azure DevOps and its CI/CD pipelines to deploy applications automatically to your end users using nothing but PowerShell, Microsoft Graph & Intune.

03:15 pm

Coffee Break

Coffee Break

Thursday June 06, 2019 03:15 pm - 03:30 pm in


03:30 pm

Like a Script Monkey in the Syntax Tree
Leibniz Room Walter Legowski

Like a Script Monkey in the Syntax Tree

Thursday June 06, 2019 03:30 pm - 04:30 pm in Leibniz Room


Last year at PSConfEU, I used some PowerShell Cmdlets to automate the creation of some PowerShell Cmdlets... Didn't have time to explain much as I was presenting on something on another topic, but since a few have asked, I thought this year I would present the tool I used back then... Last year at PSConfEU, I used some PowerShell Cmdlets to automate the creation of some PowerShell Cmdlets... Didn't have time to explain much as I was presenting on something on another topic, but since a few have asked, I thought this year I would present the tool I used back then... Invoke-ScriptMonkey, a PowerShell module to interact with the Abstract Syntax Tree and the Editor Object, and automate the creation of PowerShell Modules out of a Graph and a CSV. Automating module creation is probably not suited for every situation, however, doing so offers some advantages, and we will discuss and demo them during this session... This session is aimed at people who already write basic functions and like to have fun with PowerShell...
Automating the Software Deployment Lifecycle with Chocolatey, Jenkins and PowerShell
Red Room Paul Broadwith

Speakers

Traditionally deploying and upgrading software versions in an organization was a mundane manual task loaded with pain and delays. Using PowerShell, Pester and Chocolatey automated using Jenkins could have you rollout starts within minutes of the software being made available! At the end of the presentation the attendee will have learned: * The traditional organizational software deployment lifecycle; * The automated organizational software deployment lifecycle using PowerShell, Pester, Chocolatey and Jenkins; * The recommended Chocolatey organizational deployment & upgrade architecture; * How Chocolatey sources work and what repositories are and why you should have them; * The differences between the recommended package repository options; * Internalizing packages to use internally; * Testing packages in the deployment lifecycle using PowerShell and Pester; * Following through the software deployment lifecycle from test to production; * Synchronising repositories using PowerShell; * Scheduling package installation and upgrade using PowerShell
Universal Dashboard: Beauty is the Beast
Blue Room Bartosz Bielawski

Universal Dashboard: Beauty is the Beast

Thursday June 06, 2019 03:30 pm - 04:30 pm in Blue Room

Speakers

Join this session to learn how you can use Universal Dashboard to make PowerShell RESTful and visual for people who refuse to learn it.

Creating beautiful and useful dashboards and generating powerful and simple to use REST endpoints with the same tool sounds like a fairy tale. But some tales are based on a true story… Join us for this demo-heavy journey to the wonders of Universal Dashboard!

PowerShell is a great tool to collect data and manage multiple technologies. The problem that some organizations may face is: how to enable people who can’t use PowerShell to benefit from these strengths. Universal Dashboard is one of the potential solutions to this problem. In this demo heavy session, we will share solutions we’ve created using this module in our own company and the plans we have for future developments that will take advantage of features offered in Universal Dashboard.

04:30 pm

Coffee Break

Coffee Break

Thursday June 06, 2019 04:30 pm - 04:45 pm in


04:45 pm

Getting started with Visual Studio Code and a deep dive into debugging your PowerShell scripts
Leibniz Room Tyler Leonhardt

Speakers
Tyler Leonhardt

Tyler Leonhardt

Microsoft


Visual Studio Code (or VSCode for short) is a free, light weight, extensible, text editor by Microsoft. It’s also the official editor for PowerShell development – superseding the ISE. In this talk, I’ll show you how to get VSCode set up for use with PowerShell and then we’ll take a close look at the debugging experience in VSCode. By the end of the talk, you’ll walk away with the skills needed to debug your scripts and even the ability to customize the debugging experience for your use-cases.

Manage vSphere with PowerCLI DSC Resources, Finally!
Red Room Kyle Ruddy

Manage vSphere with PowerCLI DSC Resources, Finally!

Thursday June 06, 2019 04:45 pm - 05:45 pm in Red Room

Speakers

Configuration management is a key DevOps principle. PowerShell and PowerShell DSC is an easy way to make use of config management in our environments. However, there's one area that's been missing that ability: VMware. PowerCLI has introduced the key to close that gap, and... it's open-sourced! Configuration management is one of those key DevOps principles. Being able to declare a state and do it all in code, where we can take advantage of those developer processes we know and love like source control, unit testing, etc. This ability is not something that's new to PowerShell though, DSC has been around since Windows Server 2012 R2. However, this ability is something new to VMware environments. This session is going to take a look at the brand new DSC resources available for vCenter servers and ESXi hosts. We'll take a walk through the nuances on how to get started using them, then applying some configuration settings. Finally, because these resources are open source, we will end by making a contribution back to the repository!
Making Group-Object faster – A case study
Blue Room Staffan Gustafsson

Making Group-Object faster – A case study

Thursday June 06, 2019 04:45 pm - 05:45 pm in Blue Room

Speakers

In this session you'll learn how to make Group-Object faster, and of course learn in general how to tackle coding problems systematically.
This session will be mostly centered about algorithmic complexity, touching on Big O and show the effect of quadratic complexity on runtime as the input size grows. As an example, we will look at Group-Object, which hadO(n^2 ), if the input data was unfortunate. After some changes it will beO(n lg?n). We will look at the different algorithms to understand why and how we get very different runtime performance before and after the change. We will also look at the formatting system, and some changes there where some client code used primitives that were existing, but poorly suited for the task. By dropping down a level and providing better primitives, in this case on PSObject, we can make significant performance improvements. The session will look at dotTrace – a tool to analyze runtime performance. Attendants will walk away from the talk with a better understanding of code constructs that can result in bad performance patterns. This is a fairly technical session and most suited for attendants who like looking under the hood.

 
Friday, June 07 2019
 

08:30 am

Automate hybrid and cloud environments using Azure Automation
Leibniz Room Jan Egil Ring

Automate hybrid and cloud environments using Azure Automation

Friday June 07, 2019 08:30 am - 09:30 am in Leibniz Room

Speakers

In this session you will get an overview of the capabilities of Azure Automation and see it in action managing hybrid environments – as well as see how it compares to other services such as Azure Functions.
Don't let the name fool you: Azure Automation is a cloud-based automation service, but supports automation across any environment - Azure and non-Azure. In this session you will get to see how the service can be leveraged to automate many aspects in your environment, based on real world experiences. Don't let the name fool you - Azure Automation is a cloud-based automation and configuration service, but supports automation across any environment - Azure and non-Azure. In this session we will look at common use cases and position Azure Automation against similar services such as Azure Functions. We will then dive into real world scenarios and see how the service can be used to respond to alerts, used in self-service scenarios as well as how it can be integrated and triggered in various ways - such as webhooks from Microsoft Teams or Slack. At the end, you will see how source control & Continous Integration/Continous Delivery integration can be used to automatically publish runbooks, modules and other shared assets to an Automation account.
A better way to do WPF in PowerShell 5+
Red Room Jakub Jareš

A better way to do WPF in PowerShell 5+

Friday June 07, 2019 08:30 am - 09:30 am in Red Room

Speakers
Jakub Jareš

Jakub Jareš

CN Group s.r.o.


PowerShell 5 introduced classes, and with a bit of work we can make them play nice with WPF. In this talk I will show how to bind WPF properties and commands to PowerShell classes to do a proper MVVM, instead of naming all components and looking them up. I will also show a tiny framework I developed that allows offloading work into a background Runspace with a simple syntax that makes WPF feel almost native to PowerShell.
The 2nd factor: Multi factor authentication in PowerShell
Blue Room Thorsten Butz

The 2nd factor: Multi factor authentication in PowerShell

Friday June 07, 2019 08:30 am - 09:30 am in Blue Room

Speakers
Thorsten Butz

Thorsten Butz

Thosten Butz Consulting


Multi factor authentication (MFA) should be the de-facto standard in secure IT envorinments. But what about PowerShell beyond passwords? Multi factor authentication (MFA) should be the de-facto standard in secure IT envorinments. But what about PowerShell beyond passwords? We will highlight technologies such as **Certificate Based Login**, **OTP** authentication (One-time-password), **Windows Hello biometrics**, **FIDO** devices and Password safes in the context of PowerShell scripting. We will provide some hands on advice for daily use and question how these techniques can be used to support JEA endpoints.

09:30 am

Coffee Break

Coffee Break

Friday June 07, 2019 09:30 am - 09:45 am in


09:45 am

Living JEA, Part 1: Author, Deploy, Enforce | JEA with a human face
Leibniz Room Evgenij Smirnov

Living JEA, Part 1: Author, Deploy, Enforce | JEA with a human face

Friday June 07, 2019 09:45 am - 10:45 am in Leibniz Room

Speakers

In this session, you will learn to implement JEA "with a human face".
PowerShell JEA is as awesome a concept as its implementation can become unwieldy and hard to deploy and monitor at scale. After this talk, you will have learned some concepts that allow organizations to implement JEA "with a human face". And - there's a GUI for that, too :-) PowerShell JEA is one of those great concepts that are often talked about but seldom implemented in the real world. After briefly analyzing the reasons for this, I will take a short tour through the internals of a JEA endpoint and then present a tool set that can help consolidate and automate both the authoring and the enforcement of an organization-wide JEA policy without making life uncomfortable for those admins who already use PowerShell (remoting) for their daily tasks. Then we'll talk about various deployment options for JEA, as well as back-up scenarios and contingency plans. Making @MiriamXyra happy again in 45 minutes :-)
Near real-time log processing in AWS using PowerShell
Red Room Andrew Pearce

Near real-time log processing in AWS using PowerShell

Friday June 07, 2019 09:45 am - 10:45 am in Red Room

Speakers

TBD
Intune Programmatically: Provision Intune environment using Plaster, Azure
Blue Room Ben Reader

Intune Programmatically: Provision Intune environment using Plaster, Azure

Friday June 07, 2019 09:45 am - 10:45 am in Blue Room

Speakers
Ben Reader

Ben Reader

, Vigilant.IT


In this session, you will learn how to use Azure DevOps, Microsoft Graph & simple Plaster Templates to allow painless configuration of your companies Intune implementation.

10:45 am

Coffee Break

Coffee Break

Friday June 07, 2019 10:45 am - 11:00 am in


11:00 am

Living JEA, Part 2: How to survive under JEA control
Leibniz Room Evgenij Smirnov

Living JEA, Part 2: How to survive under JEA control

Friday June 07, 2019 11:00 am - 12:00 pm in Leibniz Room

Speakers

In this session, you will experience life under JEA sway and learn to help improve your JEA implementation by giving feedback.
Imagine you're an admin and your organization just implemented JEA for 'your' systems. Before crying Uncle, try what you do best: survive and adapt. After this talk, you'll be able to survive within the confines of a JEA endpoint and give qualified feedback to improve your org's JEA implementation. Forcing constrained JEA endpoints on administrators doesn't come easy - neither for those implementing JEA nor for thosehaving to put up with it. In this talk, I will briefly demonstrate life under JEA sway and show scenarios where the confines imposed by JEA may even help you to get stuff done faster. Then I will talk about feedback systems your organization needs to put in place in order to continually improve its JEA implementation. Of course, automated with PowerShell :-)
Lessons learned from a large scale infrastructure as code project
Red Room Mark Warneke

Lessons learned from a large scale infrastructure as code project

Friday June 07, 2019 11:00 am - 12:00 pm in Red Room

Speakers
Mark Warneke

Mark Warneke

, Microsoft Deutschland


Build a solid Infrastructure as code framework using PowerShell, Az Module, Configuration Management, ARM template with Azure DevOps as a collaboration platform fully Unit and Integration tested with Pester. # Introduction In the last months a team of consultants have been working on a large scale big data and analytics solution. We implemented infrastructure as code framework to deploy a fully tested solution to any Azure region available with a click of a button. What used to take weeks to build can now be scripted and deployed within hours. > By viewing cloud computing as a starting point for IT automation, companies may be able to have it all: scalability, agility, flexibility, efficiency, and cost savings. But that’s only possible by building up both automation and cloud capabilities.” McKinsey # Abstract This talk will highlight lessons learned implementing an infrastructure as code project from scratch working with a team. You can expect to learn what challenges to be faced when pursuing a large scale automation project on Azure and which latest technologies the team used to tackle theses challenges. At the end of the talk you will be able to plan ahead for your Infrastructure as Code Project. You are going to be aware of and can avoid common pitfalls in an automation project. As well as learn how to use a "blue print" templates approach to deploy Azure resources on demand quickly, like Windows and Linux VMs that are fully tested contentiously. Also, you will be aware of what to consider when deploying large scale solutions, that takes nearly half a day to spin up. # Tools We will have hands on to Azure DevOps, different Infrastructure as Code tools like PowerShell Az module, ARM templates, Unit and Integration tests with Pester. There is going to be little to no live coding, but a lot of code to show and tools to demonstrate. # Objectives * understand and be able to implement the best practices and pit falls the team developed and implemented in the IaC project. * plan and describe technologies and tools used in the field for development and automated deployments of infrastructure as code resources. * differentiate the approaches of developing ARM template flavors and when to use them.
SQLite for the IOT Padawan
Blue Room Christian Imhorst

SQLite for the IOT Padawan

Friday June 07, 2019 11:00 am - 12:00 pm in Blue Room

Speakers
Christian Imhorst

Christian Imhorst

, BSH Hausgeräte GmbH


When you visit this session, you will learn to love SQLite and put it to work for your tasks easily.
Do you need a lightweight reliable database for your IOT project in PowerShell? Do you need it to work without an internet connection and with less configuration? After you watched this talk, the right answer for you will be SQLite database, used in many Browsers and mobile apps on your phone. Do you need a lightweight reliable database for your IOT project in PowerShell? Are you fed up with parsing CSV and JSON files? Do you need it to work without an internet connection and with less configuration? After you watched this talk, the right answer for you will be SQLite. This Database Engine is a process library that provides a serverless (self-contend) transactional SQL database engine used in many Browsers like Chrome and Firefox and mobile applications on your phone like WhatsApp due to its portability and small footprint.

12:00 pm

Lunch Break
Bonatz Room

Lunch Break

Friday June 07, 2019 12:00 pm - 01:00 pm in Bonatz Room

LunchBreak Session 12
Leibnitz Hall

LunchBreak Session 12

Friday June 07, 2019 12:00 pm - 01:00 pm in Leibnitz Hall

This session is for delegates and last-minute ideas. If you ever wanted to present, here is your chance to test-drive! Come and cheer up your peers while enjoying your lunch, and listen to various real-life topics from the field. All attendees can apply for lunchbreak sessions during the conference. The presentations will be published during the conference.
LunchBreak Session 10
Red Room

LunchBreak Session 10

Friday June 07, 2019 12:00 pm - 01:00 pm in Red Room

This session is for delegates and last-minute ideas. If you ever wanted to present, here is your chance to test-drive! Come and cheer up your peers while enjoying your lunch, and listen to various real-life topics from the field. All attendees can apply for lunchbreak sessions during the conference. The presentations will be published during the conference.
LunchBreak Session 11
Blue Room

LunchBreak Session 11

Friday June 07, 2019 12:00 pm - 01:00 pm in Blue Room

This session is for delegates and last-minute ideas. If you ever wanted to present, here is your chance to test-drive! Come and cheer up your peers while enjoying your lunch, and listen to various real-life topics from the field. All attendees can apply for lunchbreak sessions during the conference. The presentations will be published during the conference.

01:00 pm

Adulting 101
Leibniz Room Lee Holmes

Adulting 101

Friday June 07, 2019 01:00 pm - 02:00 pm in Leibniz Room

Speakers
Lee Holmes

Lee Holmes

Microsoft


So you’ve just moved out of your parents house, and want to learn more about stocks, bonds, and how to manage your finances? This is the talk for you! What? You moved out of your parents house 20 years ago and still have these questions? This is still the talk for you! So you’ve just moved out of your parents house, and want to learn more about stocks, bonds, and how to manage your finances? This is the talk for you! What? You moved out of your parents house 20 years ago and still have these questions? This is still the talk for you! In this session, we’ll talk about how to use very basic PowerShell techniques to help you with investing, financial planning, what-if analysis, and more.
vSphere Security Compliance in a DevOps World
Red Room Kyle Ruddy

vSphere Security Compliance in a DevOps World

Friday June 07, 2019 01:00 pm - 02:00 pm in Red Room

Speakers

For years VMware has released a vSphere Hardening Guide to help keep environments secure. There has to be a better way though! Chef InSpec and its PowerShell integrations allow us to now apply and continually validate those settings with a tool every vSphere admin is familiar with, PowerCLI. vSphere security is always one of those “elephant in the room” type of topics. Everyone wants to do it, but no one knows how to get there consistently and painlessly. This session takes a look at the newly released integration between Chef InSpec and PowerShell, where we can turn your compliance into code! I’ll walk through how easy it is to install and configure InSpec, how to establish the PowerShell integration, then how we can use PowerCLI to apply settings from the vSphere Security Configuration Guide (formerly, vSphere Hardening Guide).
Designing a distributed flexible validation framework for Test in Prod.
Blue Room Ravikanth Chaganti

Designing a distributed flexible validation framework for Test in Prod.

Friday June 07, 2019 01:00 pm - 02:00 pm in Blue Room

Speakers
Ravikanth Chaganti

Ravikanth Chaganti

PowerShell Magazine


Not everyone loves testing in production. But, operational aspects of infrastructure begs for Tests-in-Production (TiP). This session provides insights into designing a distributed, flexible, and secure operations validations framework. Performing Operations and diagnostics validation is a very important aspect of agile infrastructure development and monitoring. While the core principle of operations and diagnostics validation is about writing tests that are used to validate the functionality of the deployed infrastructure, it is equally important to ensure that the framework that is used for operations validation is distributed, flexible, and secure by design. This session provides insights into design of one such framework and walks through the design principles while providing real-world implementation examples. This session is not just about writing Pester tests but about making it secure and efficient to run those Pester tests for infrastructure validation in the context of Test-in-Production (TiP).

02:00 pm

Coffee Break

Coffee Break

Friday June 07, 2019 02:00 pm - 02:15 pm in


02:15 pm

Reporting on server compliance with DSCv2: Guest Configuration
Leibniz Hall Michael Greene

Reporting on server compliance with DSCv2: Guest Configuration

Friday June 07, 2019 02:15 pm - 03:15 pm in Leibniz Hall

Speakers
Michael Greene

Michael Greene

Microsoft / PowerShell Team


The new generation of Desired State Configuration has been revealed as Azure Guest Configuration.  We will discuss how you can use your DSC skillset and the investments you have made in DSC resources as new opportunities to add value in the area of operational and security compliance.  We will also discuss roadmap for DSC and what changed since announcements we made last year.  Will cover the architecture and design of the new client (now in production) and how it addresses top asks like bringing forward management of multiple configurations.

Click-free application deployment using the magic of PS and Chocolatey
Red Room Paul Broadwith

Click-free application deployment using the magic of PS and Chocolatey

Friday June 07, 2019 02:15 pm - 03:15 pm in Red Room

Speakers

Ever wished you could take all of those applications you run, install them and not have to click anything? Easily keep them up to date and not click anything? What if I told you that you could use your best scripting language EVER too? PowerShell and Chocolatey for pain free software installation. After this talk the attendee will come away with an understanding of: * The difference between software installers and packages; * How to create a Chocolatey package using PowerShell, a Nuget specification file and the software binary that will install the software without clicking a single button! * How to package that 'special snowflake' software installer that just really wants to make you click some buttons! * How Chocolatey LOVES PowerShell. It does; * How to use Pester to test your packages; * How to be part of the community, share and collaborate by uploading your new package for the world to use! * What the package review process is, how it helps you and how it gives peace of mind to those downloading and using your package; * How to keep your packages constantly up to date without lifting a finger, using PowerShell goodness and the Chocolatey AU module; * How to keep the software on your computer continuously up to date and keep it secure; Learn how to create a Chocolatey package using your favourite scripting language (did I say Chocolatey LOVES PowerShell) sharing it, installing it and keeping it continuously up to date. Come with me on this journey, and you'll see a world of Windows Automation.
Learn to love the AST and make it work for you
Blue Room Anthony Allen

Learn to love the AST and make it work for you

Friday June 07, 2019 02:15 pm - 03:15 pm in Blue Room

Speakers
Anthony Allen

Anthony Allen

, Snow Software


When you visit this session, you will learn what the Abstract Syntax Tree is and how you can use that knowledge to write your own PSScriptAnalyzer rules or PowerShell Editor Services commands.
The AST can be daunting at first sight. This session will remove that fear and show how the AST really isn't scary. At the end of this session you will have a good understanding of how the AST works, and use this knowledge to write PSScriptAnalyzer rules or commands for PowerShell Editor Services. As a non-formally trained developer, I always thought the AST was daunting and scary. However, those fears once disappeared once I learned the fundamentals of what the AST is and how it is structured. This session will show you how the AST is built, as well as visualizing it with open source tools such as ShowPSAst and EditorASTProvider. We'll also look at different methods for parsing and searching PowerShell scripts for elements, as well as using this knowledge to write your own PSScriptAnalyzer rules or writing commands to manipulate scripts in VSCode via PowerShellEditorServices.

03:15 pm

Closing Ceremony
Blue Room

Closing Ceremony

Friday June 07, 2019 03:15 pm - 03:30 pm in Blue Room