Session Abstracts
Delegated Administration with PowerShell Remoting
Speaker: Aleksandar Nikolic
In this session you will learn how to set up a fan-in PowerShell endpoint, and then use it to assign specific administrative tasks to the appropriate users and groups without changing the membership of local Administrators group. By using just the IIS configuration files and PowerShell scripts we will enable dynamic creation of customized automation environments.
Evolution of the PowerShell Language
Speaker: Jason Shirk
In this session, Jason Shirk, one of the Windows PowerShell teams language experts, will give a brief history of the roots of PowerShell and how the language has evolved.
To gain a deeper understanding of the language, we’ll learn just enough about programming language grammars to make sense of the PowerShell language specification and apply that new knowledge on some sample scripts.
We will also cover the dynamic nature of the language and have a structured discussion on some ideas of how the language could evolve to introduce more static constructs to the language.
Get Your Game On! Leveraging Proxy Functions in Windows PowerShell
Speakers: Shay Levy & Kirk Munro
Join Shay Levy and Kirk Munro in this session as they take a deep dive into proxy functions in PowerShell. Shay and Kirk have been working together on PowerShell Proxy Extensions, a powerful module that leverages proxy functions and makes it easier than ever to create these powerful extensions to PowerShell. They will demonstrate what proxy functions are and why they are important, and then show how a little scripting savvy (and a really long script) can make your life easier by allowing you to create everything from very simple proxy functions that extend PowerShell to more complex proxy functions that override existing commands, fixing bugs and adding missing features at the same time, all while leveraging inline help as much as possible.
Get Your Jobs Done!
Speaker: Dmitry Sotnikov
PowerShell jobs allow you to run your commands and scripts in the background without blocking your PowerShell. You can run multiple jobs, check their status, and collect results. We will also get a sneak peek of the new Jobs functionality coming in Windows 8!
How to Turn CLI Tools into PowerShell Tools
Speaker: Jeffery Hicks
PowerShell is everywhere but there are still many command line tools in the IT Pro’s toolbox, In this session we’ll look at how to turn just about any command line based tool into a PowerShell tool so that you can incorporate it into your PowerShell scripts and daily management tasks. The power of objects in the pipeline is amazing and there’s no reason not to include tools like NETSTAT.EXE or NBTSTAT.EXE.
- The Challenge of CLI Tools
- Console Text to PowerShell Objects Techniques
- Putting It All Together
Notes from the Field – PowerShell in the Enterprise
Speaker: Brandon Shell
This session will review how the presenter has used PowerShell in an enterprise environment to tackle such tasks module distribution, job automation, and profile management.
PowerShell: 6 Things to Avoid
Speaker: Richard Siddaway
PowerShell is a complex tool that provides many ways to accomplish the same task. Some of these ways are better than others. This session supplies some ideas of things to avoid. It builds on the presenter’s experience of:
- Using PowerShell
- Writing and answering questions in the forums
- Judging the PowerShell scripting games
The things to avoid are:
- Not using the pipeline
- Not using advanced functions
- Not creating objects for output
- Not using string substitution and multiplication
- Not using the built in constants
- Not using remoting sessions
Not using these options will make your PowerShell code longer, harder to maintain and you will spend a lot of time inventing functionality that already exists. The session will be mainly code demonstrations.
PowerShell Anywhere
Speaker: James Brundage
Learn how to host PowerShell anywhere. This deep dive covers how to embed PowerShell in C#, build UI around Powershell, and deploy PowerShell as a web application in Azure.
PowerShell Events
Speaker: Richard Siddaway
Windows is an event driven system. PowerShell is the automation engine for the Microsoft platform. Version 2.0 introduced the ability to work with system events. Many system events do not require action on our part. There are some events that we really need to be aware of and act upon. Gaining access to these events has not been an easy task for the administrator – up until now.
PowerShell can work with events generated by:
- WMI
- .NET
- The PowerShell engine
Between them they give a handle into the inner workings of your system. A customizable, generic approach to handling events will be presented that enables you to perform actions based on the events detected. Events don’t just provide an insight into what’s happening. We can use them to trigger system actions for us – a self-healing system anyone
The key take aways from this session will be:
- The PowerShell event engine enables you to interact at a closer level with your system
- The consumption and processing of events can be as simple or complicated as you require
- You can use events to teach your system to react a fix things on its own
PowerShell SWAT – Guerilla Tactics from the Field
Speaker: Tobias Weltner
In this session, Tobias Weltner shares plenty of “special PowerShell weapons and tactics” that emerged from numerous trainings and PowerShell projects over the past five years. Learn how little things can make huge differences: speed up code, turn plain folders into self-discovery modules, tap into the Windows API and easily read/write INI files, change screen resololution or dim your video display. Regardless of the area you are managing with PowerShell, this session will provide plenty of tricks, fun and inspiration to enhance and improve existing code.
Production Module Design for the IT Pro
Speaker: Brandon Shell
In this session we will deep dive into the thought process behind production module design. The presenter will explain the reason for choices made for the Splunk Module and his own BSonPosh module.
Top tips to maximize the reuse of your PowerShell
Speaker: James O’Neill
Anyone who writes PowerShell will have old work on their computer. But how do you make sure that your work is useful in the future, to you, your co-workers or the broader PowerShell community? This session will show the key techniques for maximizing the usefulness of your code in the future. It will use a practical approach taking a function designed to carry out a simple task and applying each of the techniques to show how they produce something more suitable for sharing and re-use.
WMI Query Language – The Language of Systems Monitoring and Management Via WMI
Speaker: Ravi Chaganti
This session will include an introduction to WMI Query Language, including:
Concepts of WMI Query Language
- Keywords and Operators
- Demo on using PowerShell to execute basic WQL queries
Building Complex WMI queries for advanced systems monitoring and management
- Working with WMI associations
- WQL for event queries
- Building Permanent WMI consumers
- Demo
Real-world examples of WQL and PowerShell
- Demo (Working with performance counters using WQL and PowerShell)
- Demo (Building Complex scheduling tasks using WQL and PowerShell)




