Join one of original PowerShell team members for a look at how PowerShell has evolved over time. We'll look at both the technical and environmental drivers behind many of the decisions that made PowerShell what it is today.
Classes are a powerful capability in PowerShell and are meant to provide a more familiar developing experience to more traditional programmers. You will not experience calm skies and quiet seas though. This talk will show you where the dragons lurk and help you navigate the stormy seas.
Classes were introduced in PowerShell 5 and mainly to aid in writing DSC resources but can be used with non-DSC modules as well. This talk will go over some of the hidden gotchas when developing with classes including:
* Importing issues
* Verbose / Debug oddities
* Sharing classes between modules
I've developed and released a large PowerShell project (PoshBot) that primarily consists of PowerShell classes. While I could have written the module using traditional functions and cmdlets, I wanted an excuse to try classes out on a new project. Using classes was not a smooth experience and I want to share some of my challenges.In PowerShell Core we can use OpenSSH as the transport layer to carry our remoting sessions between our systems. In this session we’ll look at OpenSSH architecture, Authentication methods, including key authentication, and sshd configuration.
In this session we’ll cover the following:
- OpenSSH Architecture
- Authentication methods
- Key based authentication
- sshd Configuration
We'll talk about:
* Different interfaces PowerShell can use, from modules to .NET libraries
* Graph databases like Neo4j, and how these can be useful for sysadmins
* A practical (janky) CMDB, and why these can be useful
## Why the topic:
I'm a fan of CMDBs that have useful data. They can drive automation, monitoring and alerting, reporting, and anything else that benefits from visibility.
It just so happens that:
* This is a great way to illustrate the various ways to talk to things in PowerShell (modules, web APIs, .NET libraries, binaries, etc.)
* Graph databases are awesome, and map to real life systems more easily than the cumbersome fun of primary keys, foreign keys, and strict schemas
* Neo4j has a free, cross platform community edition, and there's a simple PowerShell module to work with it
* We can instill other important lessons, e.g. modules/abstraction, community/sharing
* We can provide a practical example that folks without a reasonable CMDB could borrow and extend
* Heavy weight, expensive, actual CMDBs are a poor fit for shops adopting DevOps practices and principles
This will be a tour like session showing PowerShell Core in both Windows and Linux. Also, at the same time working with Windows 10 Bash bring examples of PowerShell Core cross-platform.